jquery ajax同步的意思是当JS代码加载到当前ajax的时候会把页面里所有的代码停止加载,页面出现了假死状态,当这个ajax执行完毕后才会继续运行其他的代码假死状态解除。而异步的意思是这个ajax代码运行中的时候其他代码一样可以运行。本文给大家详解,感兴趣的朋友参考下

之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题。最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。

而异步则这个AJAX代码运行中的时候其他代码一样可以运行。

jquery的async:false,这个属性

默认是true:异步,false:同步。

$.ajax({

type: "post",

url: "path",

cache:false,

async:false,

dataType: ($.browser.msie) ? "text" : "xml",

success: function(xmlobj){

}

});

有了这个属性可以相对的减少代码运行书序问题,但是如果用的太多,页面假死次数太多。这样反而导致用户体验不佳~!

$.Ajax()中 async 和success的官方的解释:

async

Boolean

Default: true

By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.

success

Function

A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. This is an Ajax Event.

在这里,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()部分执行完毕。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

ajax异步同步加载PHP代码,jquery中的ajax同步和异步详解相关推荐

  1. ext ajax同步加载数据,ext 的loadmask 与ajax的同步请求水火不容

    因为ajax 的同步请求会有一段请求时间.有的短.有的长,对于短的咱们仍是能接受的,不过长的话就必须处理一下了,ajax 就好比处于ext 4.2.0的框架下,须要一个遮掩的样式,框架是有自带的,lo ...

  2. foxmail邮件加载失败重试_java retry(重试) spring retry, guava retrying 详解

    系列说明 java retry 的一步步实现机制. java-retry 源码地址 情景导入 简单的需求 产品经理:实现一个按条件,查询用户信息的服务. 小明:好的.没问题. 代码 UserServi ...

  3. php keydown,JQuery中keyUp和keyDown的区别详解

    这篇文章主要是对JQuery中keyUp与keyDown的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 定义和用法完整的 key press 过程分为两个部分:1. 按键被按 ...

  4. Jquery中find与each方法使用详解

    本文实例讲述了jQuery中find与each方法用法.分享给大家供大家参考.具体如下: 一.find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 图解 ...

  5. javascript 文件的同步加载与异步加载

    原文:[转载]javascript 文件的同步加载与异步加载 HTML 4.01 的script属性 charset: 可选.指定src引入代码的字符集,大多数浏览器忽略该值. defer: bool ...

  6. .ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).ready(function () { $(" ...

  7. jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)

    jQuery中使用ajax: 在jQuery中使用ajax首先需要引入jQuery包,其引入方式可以采用网络资源,也可以下载包到项目文件中,这里推荐下载包到文件中:市面上有多个版本的jQuery库,这 ...

  8. ajax显示加载动画,jQuery Ajax 加载数据时异步显示加载动画

    jQuery Ajax 加载数据时异步显示加载动画 ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 $(document).re ...

  9. JQuery AJAX 加载 HTML代码“lt”形式的。怎么解析成形式,并且把img解析成图片输出到浏览器中。...

    声明:此方法目前用火狐通过验证.IE未能通过. 前台 写法:   <div  style="visibility:hidden"  id="Change" ...

最新文章

  1. Spring Boot + GraphQL 才是 API 的未来!
  2. SSM+BJUI实现以Base64方式上传照片
  3. android surfaceview 图片,为啥从SurfaceView中获取不到图片?
  4. 不自由な放課後 + 正しいメイドの躾かた 汉化补丁
  5. 舒适的路线(codevs 1001)
  6. LeetCode 51. N皇后 / 52. N皇后 II(回溯)
  7. 用c语言ipv6组播,需要适用于iOS 9的IPv6组播C代码
  8. 面经——2022届CVTE提前批
  9. 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
  10. vi中跳到文件的第一行和最后一行
  11. 【selenium 模拟拼图】滑动拼图验证码10分钟教程
  12. D3.js v5.0 旭日图
  13. 软件工程资料 - UCSD 怎么教软件工程
  14. Java8 IF ELSE IF 优化
  15. Godot全局插件支持库
  16. cmstop中使用到的js文件
  17. 书籍-传承至今的智慧载体
  18. 因为没有网关,我的服务器被 DDoS 了
  19. 上海软科 计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名拉夫堡大学排名第401-500...
  20. 惠普创始人之一 戴维·帕卡德

热门文章

  1. 5分钟k线数据 存储_成功率极高的“分时K线战法”:15分钟K线战法+30分钟K线战法...
  2. python制作图_Python做图的方法
  3. 个人数据在暗网的交易价格是多少?
  4. 想申请AI方向硕、博,这个内容一定要提前准备!!
  5. 如何科学地浪费朋友手中的啤酒
  6. 论两大数学家是如何撕破脸的!
  7. 我在芝加哥大学经济学系的博士生涯
  8. 二维码提升对比度文献调研(3)--A Low-Complexity Algorithm for Contrast Enhancement of Digital Images
  9. mysql ( )连接_MySQL中concat函数(连接字符串)
  10. Java单元测试技巧之PowerMock