我正在使用AJAX调用来检查一些验证,然后由HTML正常提交表单。在我的Ajax电话中,
function checkId() {
var str = $("#formObj").serialize();
$.ajax({
type : "post",
data : str,
url : "checkForId.mt",
async : false,
success : function(txt) {
if (txt == "pass") {
return "true";
} else if (txt == "same") {
$("#errorMsgIdSame").removeClass("hidden");
return "false";
}
},
error : function() {
alert("Error");
}
});
}
如果控件进入“通过”,则执行应继续。如果是“相同”,则执行应停止。 我正在从其他一些方法中称此Ajax方法。
function validateForm() {
var isValid = true;
isValid = checkId();
if (!isValid) {
$("#errorMsg").removeClass("hidden");
}
return isValid;
}
此ValidatiOoform在按钮单击时被调用。现在,AJAX代码正在工作,但ValidateForm方法没有采用AJAX方法的返回。
需要有关如何执行此操作的方向,以便从Ajax方法捕获返回以及如何从Ajax方法返回。
最佳答案
如果我正确理解你的问题,你想从外部函数返回内部函数的结果。 checkId
的定义就是这样做的。
function checkId() {
var result;
var str = $("#formObj").serialize();
$.ajax({
type : "post",
data : str,
url : "checkForId.mt",
async : false,
success : function(txt) {
if (txt == "pass") {
result = true;
return;
} else if (txt == "same") {
$("#errorMsgIdSame").removeClass("hidden");
result = false;
return;
}
},
error : function() {
alert("Error");
}
});
return result;
}
关于javascript - 如何在ajax成功中中断执行并显示错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794051/