使用when()运行多个Ajax函数

时间:2017-04-10 18:50:07

标签: jquery ajax .when

在()时使用jQuery,我试图在表单提交上运行多个Ajax函数,等到它们得到响应并完成后,最后提交表单。我的代码是:

rater.sql

表单已提交但Ajax函数从未触发。我究竟做错了什么?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您错误地写了$.when()

每个ajax调用promise都应该是一个参数(或者在jQuery 3+中可以是promises数组)

$(function(){
    $('form[name="regForm"]').on('submit', function( e ) {
        e.preventDefault();

        $.when( ajaxOne(), ajaxTwo(),  ajaxThree()   
        ).done(function() {
            $('form[name="regForm"]').unbind('submit').submit();
        });
    });
});

这也假设表单选择器是正确的,并且每个ajax函数返回一个$.ajax承诺,如

function ajaxOne()(
  return $.ajax({...})    
}

答案 1 :(得分:0)

你必须作为参数传递

<td></td>

负责得到回复。