我正在尝试为所有 Ajax 调用编写一个通用功能,如下所示。当我像下面这样单独编写时,中止不起作用,如果我在与下面相同的 ajax 中添加 beforesend ,它会起作用,这是评论
$(document).ready(function () {
$.ajax({
beforeSend: function (jqXHR, settings) {
check = TestCallMethod();
if (check.responseText != "true") {
alert("Call Failed");
jqXHR.abort(event);
}
}
});
$.ajax({
// beforeSend: function (jqXHR, settings) {
// debugger;
// check = TestCallMethod();
// if (check.responseText != "true") {
// alert("Call Failed");
// jqXHR.abort();
// }
// },
cache: false,
url: '@Url.Action("TestCall2", "Home")',
success: function (data) {
alert(data);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
});
function TestCallMethod()
{
return $.ajax({
url: '@Url.Action("TestCall", "Home")',
async: false,
cache: false,
success: function (data) {
return data;
},
error: function (request, status, error) {
alert(request.responseText);
return false;
}
});
}
常见的ajax beforsend如何实现abort?