【发布时间】:2020-05-22 23:14:31
【问题描述】:
我正在尝试将选定的记录导出到文件中并重新加载页面以更新当前视图中的记录。我正在异步调用 web api 来获取所有记录。 AJAX 调用正在控制器中成功执行操作并返回预期数据而没有任何错误,但没有执行 ajax 函数的“成功”、“完成”或“错误”部分。浏览器的开发人员工具没有错误,没有例外,没有什么不寻常的,所以对我来说进一步调查这个问题变得越来越棘手。我可以请您对此提出建议吗?谢谢
查看:
@Html.ActionLink("Export records", "Index", null, new { Id = "myExportLinkId")
脚本:
$("a#myExportLinkId").click(function (e) {
var selected = "";
$('input#myCheckBoxList').each(function () {
if (this.checked == true) {
selected += $(this).val() + ',';
}
});
if (selected != "") {
$.ajax({
url: '/MyController/MyAction',
type: 'GET',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {
'MyString': 'stringValue'
},
success: function (data) {
alert("success");
},
error: function () {
alert("error");
}
});
})
动作/方法如下所示:
[HttpGet]
public async Task<ActionResult> ExportNewOrders(string OrderIdString)
{
//code to create and store file
//actually want to send the file details as json/jsonResult but for testing only returning
//string here
return Json( "Success", "application/json", JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
确定 ajax 调用正在发送到服务器吗?通过在网络选项卡中查看调用或在控制器方法中放置一个断点
-
感谢您的重播@Sam。是的,它确实执行了控制器中的方法并成功返回了预期的结果,但执行没有达到 AJAX 调用的成功/完成/错误部分
标签: c# jquery ajax asynchronous model-view-controller