今天遇到了ajax内部嵌套ajax的情况,这时候我们需要考虑代码的执行顺序问题,异步的操作可能会导致我们无法获得我们需要的结果。这时候我们可以将ajax异步请求转化为同步请求。

同步的含义:

是JS代码加载到当前Ajax的时候会把页面里所有的代码停止加载,页面出现假死的情况,当这个AJAX执行完毕之后才会继续运行其他代码,页面假死情况解除。

同步的属性

async:false;

async

布尔值默认值: true
默认情况下,所有的请求都是异步发送的(例如,默认情况下它被设置为true)。如果您需要同步请求,请将此选项设置为false。请注意,同步请求可能会暂时锁定浏览器,并在请求处于活动状态时禁用任何操作。这个属性可以减小代码运行的顺序问题,但是如果用的次数太多,页面假死的次数太多,这样反而会造成用户体验不佳。

$.ajax({type:"post",url:"path",cache:false,async:false,dateType:($.browser)?"text":"xml",success:function (xmlobj) {    }})

success:

如果请求成功,则调用一个函数。该函数传递了两个参数:从服务器返回的数据,根据“dataType”参数格式化,以及描述状态的字符串。这是一个Ajax事件。

async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)例:

$.ajax({  type:"POST", url:"Venue.aspx?act=init", dataType:"html", success:function(result){   //function1()f1(); f2(); } failure:function (result) {  alert('Failed');  }, } function2();

在上例中,当ajax块发出请求后,它将停留function1(),等待server端的返回,但同时(在这个等待过程中),前台会去执行function2(),也就是说,在这个时候出现两个线程,我们这里暂且说为function1() 和function2()。

当把asyn设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),直到function1()部分执行完毕。

jquery ajax同步相关推荐

  1. js jquery Ajax同步

    Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({   url: "some.php",   as ...

  2. ajax请求会阻塞dom,Jquery ajax 同步阻塞引起的UI线程阻塞问题_jquery

    最近做一个项目,遇到了一个问题同步ajax引起的ui线程阻塞问题,下面把我的问题解决过程分享给大家. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为 ...

  3. ajax异步同步加载PHP代码,jquery中的ajax同步和异步详解

    jquery ajax同步的意思是当JS代码加载到当前ajax的时候会把页面里所有的代码停止加载,页面出现了假死状态,当这个ajax执行完毕后才会继续运行其他的代码假死状态解除.而异步的意思是这个aj ...

  4. jQuery.ajax()异步方法的漏洞

    2019独角兽企业重金招聘Python工程师标准>>> 在使用jQuery.ajax()异步方法的时候发现一个返回数据混合的漏洞,记录下来分享给大家. 最近在做一个数据统计分析的项目 ...

  5. 如何让jQuery执行同步而不是异步的Ajax请求?

    我有一个提供标准扩展点的JavaScript小部件. 其中之一是beforecreate函数. 它应该返回false以防止创建项目. 我已经使用jQuery在此函数中添加了Ajax调用: before ...

  6. ppst——技术视频 jquery ajax 请求 同步异步的执行的设置

    ppst 技术视频--技术视频 jquery ajax 请求 同步异步的执行的设置:请访问ppst 技术视频分享平台 , www.ppst.cc,上面有最新的技术视频,推荐大家把博客录制成视频吧,可以 ...

  7. jQuery的Ajax同步和异步

    最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除.  而异步 ...

  8. jq ajax同步异步,详解JQuery中Ajax的同步与异步

    说到ajax同步与异步,可能很多同学对它都不是很了解,接下来我们就Ajax的同步与异步作个简单的介绍.同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事.异步 ...

  9. Jquery实现Ajax同步请求

    Ajax默认都是异步请求的,很多时候需要用到jquery的同步请求,方法如下: function getUser(){ var postData=$("#userForm").se ...

最新文章

  1. SEL | 植物通过根系分泌物招募假单孢菌协助抵抗地上部病原菌侵染
  2. WordPress设计bug+WooCommerce漏洞导致网站存在被劫持风险
  3. Spring MVC控制器的单元测试:“普通”控制器
  4. 大型网站核心架构要素--扩展性
  5. Roguelike游戏的视野算法
  6. Google 各语言网站合集
  7. C#面向对象设计模式第二讲:Singleton Pattern单件模式(创建型模式)
  8. hbase 查询_云HBase发布全文索引服务,轻松应对复杂查询
  9. CSS 背景 background属性
  10. ArcGIS中Shapefile和Geodatabase坐标容差的问题
  11. Django中文无法转换成latin-1编码的解决方案
  12. 知行之桥®中文版EDI系统正式发布
  13. Sql Server 的基本增删改查语句
  14. ArcGIS建立拓扑并检查修改
  15. Photoshop插件-保存-存为Web所用格式-另存为-脚本开发-PS插件
  16. input的oninput、onchange与onpropertychange事件
  17. Android 自带截屏命令 screencap 的使用
  18. Cox回归+Cox比例风险回归模型
  19. 配置静态IP失败总结
  20. 数据中台在企业数字化转型中的践行(上篇)

热门文章

  1. 审理技术合同纠纷处理的方式有哪些
  2. 高清MP4芯片方案点评
  3. htmlParser 繁体字乱码
  4. js代码实现繁体字切换效果
  5. CommandArgument 传递参数
  6. 事物TransactionScope
  7. .net mysql transactionscope_使用Transaction访问数据库(C#,TransactionScope,.NET 2.0)
  8. flash上传头像插件使用说明
  9. 将ubuntu系统时区从UTC改为PDT之后magento2时间错乱
  10. Nginx代理WebSocket方法