细数Ajax请求中的async:false和async:true的差异

实例如下:

function test(){ var temp="00"; $.ajax({ async: false, type : "GET", url : 'userL_checkPhone.do', complete: function(msg){ alert('complete'); }, success : function(data) { alert('success'); temp=data; temp="aa"; } }); alert(temp); }

UserLAction中checkPhone()方法

public void checkPhone() throws IOException { this.getServletResponse().setContentType("text/html; charset=UTF-8"); this.getServletResponse().setHeader("Cache-Control", "no-cache"); PrintWriter out = this.getServletResponse().getWriter(); out.print("true"); }

async: false,(默认是true);

当async: false为同步,这个 test()方法中的Ajax请求将整个浏览器锁死,

只有userL_checkPhone.do执行结束后,才可以执行其它操作。

所以执行结果是先alert('success'); alert('complete'); alert("aa");

当async: true 时,ajax请求是异步的。但是其中有个问题:test()中的ajax请求和其后面的操作是异步执行的,那么当userL_checkPhone.do还未执行完,就可能已经执行了 ajax请求后面的操作,

所以结果是alert('success'); alert('complete'); alert("00");

这样就会发现alert("success")和alert(temp)几乎是同步执行,所以temp就是初始化的值temp = "00",而不是  temp="aa";

以上这篇细数Ajax请求中的async:false和async:true的差异就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-07-30 08:46:39

细数Ajax请求中的async:false和async:true的差异的相关文章

Ajax请求中async:false/true的作用分析_AJAX相关

本文实例分析了Ajax请求中async:false/true的作用.分享给大家供大家参考,具体如下: test.html代码: <a href="javascript:void(0)" onmouseover="testAsync()"> asy.js代码: function testAsync(){ var temp; $.ajax({ async: false, type : "GET", url : 'tet.php', com

关于Ajax请求中传输中文乱码问题的解决方案_AJAX相关

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

关于Ajax请求中传输中文乱码问题的解决方案

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

如何从jQuery的ajax请求中删除X-Requested-With

 X-Requested-With常用于判断是不是ajax请求,ajax请求中删除X-Requested-With的方法如下,感兴趣的朋友可以参考下 X-Requested-With常用于判断是不是ajax请求    但是有时我们会有需要删除X-Requested-With的情况    下面介绍一种方式 js代码   代码如下: $.ajax({  url: 'http://www.zhangruifeng.com',  beforeSend: function( xhr ) {  xhr.se

Ajax请求中的异步与同步,需要注意的地方说明_AJAX相关

之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它的处理被覆盖了,我很纳闷,当时也知道是这个表格绑定函数那出问题了,可是时间紧,它的函数是封装的,没有去具体跟踪,就直接让我的那部分业务处理延迟200ms执行,这样就好了,这是个笨法,不过也是个有效的办法,呵呵. 后来看了下文档,查了些资料,其实原理应该是这样的: 默认设置下,所有请求均为异步请求.如

解决AJAX请求中含有数组的办法_AJAX相关

大家应该都发现了当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台 比如有这样一个数据需要发送给后台: { "orderId": 22, "resourceJson": [ { "carCapacity": 223, "carNumber": "123", "driverInfo": "123", "fail

解决AJAX请求中含有数组的办法

大家应该都发现了当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台 比如有这样一个数据需要发送给后台: { "orderId": 22, "resourceJson": [ { "carCapacity": 223, "carNumber": "123", "driverInfo": "123", "fail

Ajax请求中的异步与同步,需要注意的地方说明

之前做项目时候,用到一个表格控件,它的数据是异步加载的,我在这个表格绑定数据的函数下面友做了一些业务处理,运行页面的时候,用浏览器在我写业务处理那地方打上断点跟踪,它确实执行了,可以最后显示的时候,它的处理被覆盖了,我很纳闷,当时也知道是这个表格绑定函数那出问题了,可是时间紧,它的函数是封装的,没有去具体跟踪,就直接让我的那部分业务处理延迟200ms执行,这样就好了,这是个笨法,不过也是个有效的办法,呵呵. 后来看了下文档,查了些资料,其实原理应该是这样的: 默认设置下,所有请求均为异步请求.如

比亚运国足还臭:细数网游中那些找骂玩法

亚运会上,东道主中国国奥队对阵韩国队,遭遇惨败引发白云山足球场万人齐呼解散,球迷面对耻辱失利,倾泻着由来已久的不满和愤怒.而网游中,也有比国足还臭的举动,引发了多数玩家的强烈不满,下面就细数一下网游中那些找骂玩法. 一.<地下城与勇士>PK场一律禁用无色 找骂指数:★★★★★ DNF之中,总有"无色流,猥琐鬼垃圾货"的论调.难道PK场不允许使用无色么.DNF之中每个职业拥有每个职业的特征,不能一概而论, 要求所有的职业都去硬碰硬的与你进行格斗.一些具有连招特性的职业,使用这