常见的beforeSend in Ajax调用,如果条件不满足则中止
我试图为所有Ajax调用编写一个通用功能,如下所示。 当我像下面那样单独编写它时,中止不起作用,如果我在下面相同的ajax中添加beforesend,它就会起作用,这是有注释的常见的beforeSend in Ajax调用,如果条件不满足则中止,ajax,Ajax,我试图为所有Ajax调用编写一个通用功能,如下所示。 当我像下面那样单独编写它时,中止不起作用,如果我在下面相同的ajax中添加beforesend,它就会起作用,这是有注释的 $(document).ready(function () { $.ajax({ beforeSend: function (jqXHR, settings) {
$(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的中止?您可以将通用设置应用于ajax上的全局设置。我希望这会有帮助
$.ajaxSetup({
global: true,
beforeSend: function (jqXHR, settings) {
check = TestCallMethod();
if (check.responseText != "true") {
alert("Call Failed");
jqXHR.abort(event);
}
}
});