我正在我的BeginForm的onBegin函数上发送ajax请求,我想在data.success
为假时停止后续步骤。
但是从success
方法返回false,而不是从onBegin
返回它。如何使这个异步的东西工作?如果data.success
为假,我想在onBegin函数中停止所有循环。
function onBegin() {
$("#spMessage").html("Processing...");
$.ajax({
url: '@Url.Action("test")',
type: "POST"
success: function (data) {
if (!data.success) {
alert("Sorry!");
/*Here I want to return false not from success function, but from OnBegin function*/
return false;
}
}
});
}
答案 0 :(得分:2)
您将失去异步请求的所有功能,但您可以通过添加选项async : false
来指定必须同步进行AJAX请求
function onBegin() {
$("#spMessage").html("Processing...");
$.ajax({
url: '@Url.Action("test")',
type: "POST",
async : false,
success: function (data) {
if (!data.success) {
alert("Sorry!");
//onBegin function will return false
return false;
}
else
{
//onBegin function will return true
return true;
}
}
});
}