小编典典

不建议使用Ajax异步false?

ajax

我正在使用jQuery 1.7,并且async:false已将其用于AJAX记录,但是我了解到该功能已被弃用。

我需要使用回调,但这不起作用:

$("#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>

阅读 231

收藏
2020-07-26

共1个答案

小编典典

继续评论:当您似乎不需要 回调时 ,您似乎对它有些痴迷!:)

对现有代码的简单更改是丢弃cnf并简单地将代码放入ajax调用的成功部分:

$("#form").submit(function (e) {
    $.ajax({
        type: "POST",
        url: 'page.php',
        data: $('#form').serialize(),
        async: true,
        success: function (responseText) {
            if (responseText.indexOf('err') != -1) {
                // Do something when it fails here
            } else {
                // Do something when it succeeds here!!!!
                alert('ok');
                // e.g. move on to "step 2"
            }
        },
        error: function () {
           // Do something when it fails here
        }
    });
});
2020-07-26