Ajax异步&同步请求
发布时间:2020-12-16 02:01:22 所属栏目:百科 来源:网络整理
导读:一、简介 Ajax请求最重要的问题是代码执行的顺序。最长遇到的问题是,我们定义一个变量接收ajax异步请求的返回结果,后续代码使用,然而后续代码在使用时该变量为初始值,始终得不到想要的结果!!! 二、示例 // 同步var email = "test@ptmind.com";console
一、简介Ajax请求最重要的问题是代码执行的顺序。最长遇到的问题是,我们定义一个变量接收ajax异步请求的返回结果,后续代码使用,然而后续代码在使用时该变量为初始值,始终得不到想要的结果!!!二、示例// 同步 var email = "test@ptmind.com"; console.log(1); jQuery.ajax({ url: "/invite/sendEmailAjax.pt",type: "post",dataType: "text",async: true,data: "inviteEmails="+email,success: function(data){ console.log(2); } }); console.log(3); // 结果:1->3->2 // 异步 var email = "test@ptmind.com"; console.log(1); jQuery.ajax({ url: "/invite/sendEmailAjax.pt",async: false,success: function(data){ console.log(2); } }); console.log(3); // 结果:1->2->3 三、官方解释By default,all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests,set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser,disabling any actions while the request is active.sync. 默认是true,即为异步方式,$.Ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.Ajax里的success方法,这时候执行的是两个线程。若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 四、参考URLhttp://api.jquery.com/jQuery.ajax/(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |