Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载ajax响应时执行jquery函数_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 加载ajax响应时执行jquery函数

Javascript 加载ajax响应时执行jquery函数,javascript,jquery,ajax,Javascript,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

如何执行在客户端等待服务器响应时运行的函数?这是我的密码。我查了一下,发现了一个.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()将在浏览器等待响应时运行

因此:

XHTT前传是异步的。不需要额外的工作

你进去看过了吗


在JS中执行另一个函数时,您不能执行该函数,因为它是单线程的:您可以在之前和之后执行操作-您是否正在寻找一种方法来设置消息/微调器,以便在等待时显示?选中
$.ajax()
调用中的选项:

$.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";
});

当客户端等待响应时,您希望执行什么?对不起,我不知道我在做什么,听起来最好?我想不会吧?而且fwiw在发送之前写的任何东西都会阻止ajax请求触发,直到代码块完成为止。因此它实际上根本不做您想要的事情。beforeSend将阻止ajax请求触发。这并没有完成服务器上处理ajax请求时在浏览器中执行代码的问题。你完全正确,感谢你让我了解正确的
beforeSend
目的。与另一个答案相同的评论:beforeSend将阻止ajax请求触发。这并没有完成问题所要求的在服务器上处理ajax请求时在浏览器中执行代码的要求。
$.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
   }
   // ......
 });
$.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";
});