在()时使用jQuery,我试图在表单提交上运行多个Ajax函数,等到它们得到响应并完成后,最后提交表单。我的代码是:
rater.sql
表单已提交但Ajax函数从未触发。我究竟做错了什么?谢谢你的帮助。
答案 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>
负责得到回复。