我正在使用jQuery 1.7,并且使用async:false
来处理我的AJAX请求,但我已经了解到此函数已被弃用。Ajax async false已弃用?
我需要使用回调,但是这并不工作:
$("#form").submit(function(e) {
var cnf;
$.ajax({
type: "POST",
url: 'page.php',
data: $('#form').serialize(),
async: true,
success: function(responseText) {
if(responseText.indexOf('err') != -1) {
cnf = "error";
}
else {
cnf = "success";
}
return callBack(cnf);
},
error: function() {
cnf = "error";
return callBack(cnf);
}
});
if(cnf == "success")
{
alert('ok');
}
});
的HTML:
<form id="form">
<input type="text" name="email">
<input type="submit">
</form>
如果我使用async: false
这工作。使用回调我在这里看到了解决方案:wait for a jquery ajax callback from calling function
凡是依赖于AJAX调用的结果,*必须*被所述AJAX调用的回调附加,呼叫或(对于事件)。 –
'async:false'仅在使用延迟对象方法时被弃用。为了回答您的问题,请参见:http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call –
是啊是1.8感谢您 – user3710381