jquery在加载ajax响应时执行函数
如何在客户端等待服务器响应时执行将运行的函数? 这是我的代码。 我查了一下,发现了一个.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"; });
在调用$ .ajax()之后编写的下一行代码将在浏览器等待响应时运行。
所以:
$.ajax(); yourAwesomeFN();
XhttpRequests是异步的。 无需额外的工作。
你看过“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(){ // Handle the beforeSend event }, complete: function(){ // Handle the complete event } // ...... });
在JS中执行另一个函数时你不能执行一个函数,因为它是单线程的:你可以在之前和之后做一些事情 – 你是否正在寻找一种方法来设置一个消息/微调器在等待时显示? 检查$.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"; });