我对这个问题感到很困惑。我正在调用ASP MVC 5控制器。当我逐步浏览FFox中的代码时,我可以清楚地看到控制器Action方法DeleteBadItem中的断点被命中,删除项过程正常工作。
但是,如果我不介绍FFox中的代码,例如;不要在$ .ajax旁边的FFox中断(行和步骤,控制器中的断点Action方法不会被命中。相反,Index方法被调用,我看到警告("请求是完成!"),但DeleteBadItem中的断点永远不会得到命中;
控制器返回ActionResult,所以我只是提出测试警告。
当我单步执行时,知道为什么行为有效,但不是吗?
感谢您的帮助
var retVal = false;
retVal = confirm("Are you sure you want to delete this item?");
var deleteString = [item1, item2]
if (retVal) {
$.ajax({
url: "@Url.Action("DeleteBadItem")",
type: 'POST',
dataType: "json",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(deleteString),
success: function () {
location.reload();
alert("Record has been deleted");
},
failure: function () {
alert("An error occured. Record was not deleted.");
},
complete: function( xhr, status ) {
alert( "The request is complete!" );
}
});
}
答案 0 :(得分:0)
感谢Kevin B的评论“将你的代码再提高一级(换句话说,显示你所提供的代码的调用。)”,我注意到我正在调用location.reload()在$('。delete')按钮单击事件的末尾,但在ajax块外面。在ajax Complete块中移动它似乎解决了这个问题。