如何在客户端等待服务器响应时执行将运行的函数?这是我的代码。我查了一下,发现了一个.load()函数,但这又如何适应呢?任何帮助都会很棒!感谢
$.ajax({
type: "POST",
url: "mail.php",
data: {name: name.val(), email: email.val(), phone: phone.val(), subject: subject.val(), message: message.val()}
}).done(function(){
alert("Your message was sent. We will be in contact with you shortly.");
window.location="index.html";
});
答案 0 :(得分:11)
您编写的下一行代码 您调用$ .ajax()将在浏览器等待响应时运行。
所以:
$.ajax();
yourAwesomeFN();
XhttpRequests是异步的。无需额外的工作。
答案 1 :(得分:2)
$.ajax({
type: "POST",
url: "mail.php",
data: {name: name.val(), email: email.val(), phone: phone.val(), subject: subject.val(), message: message.val()},
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});
答案 2 :(得分:1)
当在中执行另一个函数时,你无法执行函数,因为它是单线程的:你可以在和之前做之后的事情虽然 - 您是否正在寻找一种方法来设置在等待时显示的消息/微调器?查看$.ajax()
来电中的beforeSend选项:
$.ajax({
type: "POST",
url: "mail.php",
data: {name: name.val(), email: email.val(), phone: phone.val(), subject: subject.val(), message: message.val()}
beforeSend : function(){
// do your stuff here
}
}).done(function(){
alert("Your message was sent. We will be in contact with you shortly.");
window.location="index.html";
});