AJAX同步与异步
今天来大概说说AJAX中的同步与异步。其实,就我的理解,同步与异步的区别就是程序执行过程中是否有等待。
同步:意思就是js代码加载到当前的 AJAX时候,会等待AJAX代码执行完毕后再开始加载其他代码;
异步:js代码是指当加载到 AJAX时候,在AJAX代码执行的同时 ,也会执行其他代码。
jquery 的async 属性:默认 情况下 ,为true :异步, 标注为false:表示同步
官方解释:
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.
翻译如下:异步处理方式:返回类型为boolean型,
默认情况下所以请求为异步方式处理,返回值是true;如果需要同步的要求,可以返回值设置为false,但是请注意:在同步请求的时候,可能会暂时锁定浏览器,其他任何行为均被禁止,而同步请求行为是活动的。
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.
翻译如下:当函数请请求返回成功时,将会得到2个参数,1.从服务器端返回的数据。2.根据数据类型参数的格式化和描述状态的字符串,这个被成为 一个ajax事件。
异步:当ajax发送请求后,在等待 server端返回的过程中,前台会继续执行ajax后面的代码,直到server端返回正确的结果,才会执行success,即无等待过程,执行的时候分为2个线程。
看下如下的代码:
$.ajax({
type:"POST",
url:"Venue.aspx?act=init",
dataType:"html",
success:function(result){ //function1()
f1();
f2();
}
failure:function (result) {
alert('Failed');
}
}
function2();
前面我们已经说到,默认情况下async默认为true, 异步处理方式,就是说当ajax发送请求后,将停留在function1(),在等待服务器返回结果,但在等待过程中 ,前台会继续执行function2(),此时就出现了 2个线程。
同步 处理方式:当把async设为false,在ajax发出请求后,会等待function1(),并不会执行function2(),直到function1()的部分执行完毕为止 。
AJAX同步与异步的更多相关文章
- AJAX同步改异步
var temp; $.ajax({ async: false, type : "POST", url : defaultPostData.url, dataType : 'jso ...
- 一个ajax同步与异步引发的血案。
前言 公司做网上促销活动,需要充值换取相应的抽奖资格,抽奖可以获得丰厚的礼品,而且抽奖资格门槛有点高,领导下达命令保证活动的正常上线与运行,领导很重视,就这样,在领导的安排下进行了相关活动的codin ...
- ajax同步、异步执行简单理解与证明
此理解范例代码来自前几篇随笔! 首先我们来先了解下AJAX: Ajax:全称“Asynchronous Javascript and XML”(异步Javascript和XML),他是由Javascr ...
- jquery的ajax同步和异步
之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...
- ajax同步,异步
传输数据 同步:第一条传过去,对方接收到反馈以后,再传第二条; 异步:第一条传过去,不管对方有没有收到,继续传第二条. ajax(默认异步 async:true) 同步:执行完ajax内部代码,才执行 ...
- ajax同步与异步 理解
例如,小明去餐馆排队点餐,前台服务员将小明的菜单告诉厨师进行制作,此时小明后面排队的人就一直等着,直到厨师制作完成,把饭菜送到小明手里后离开,后面的人才能继续点餐:这就是同步处理 但是,如果前台服务员 ...
- ajax 同步和异步
ajax请求中同步是要等待请求结果返回后才能继续执行,而异步请求则不需要等待返回结果,可以直接进行后面语句.
- Ajax同步与异步优缺点与使用
一.什么是同步请求:(false) 同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能 ...
- ajax同步和异步
// 方案2: 回调函数 // function getFile( callback ){ // // 1: 创建ajax对象 XMLHttpRequest // var xhr = new XMLH ...
随机推荐
- Java RMI 简介及其优劣势总结
今天,帮别人看UDAS配置问题时,看到采用的是RMI方式的调用,如:rmi://10.20.134.140:2299/DataServer,而且这个端口是被直接硬编码在UDAS的代码中的.既然看到了, ...
- final, finally, finalize 的区别
1.final 用于声明属性, 方法和类, 分别表示属性不可变, 方法不可覆盖, 类不可继承.内部类要访问局部变量, 局部变量必须定义成 final 类型, 例如, 一段代码…… 2.finally ...
- vs2013出现ISO C++ conformant解决办法
出现:错误 1 error C4996: 'strnset': The POSIX name for this item is deprecated. Instead, use the I ...
- 我用过的linux命令--安装JDK
首先,我的测试环境是CentOS的linux虚拟机,如果想安装JDK,首先要有一个JDK.利用的软件就是WinSCP,把JDK从windows中传送到Linux中去. 1. JDK从Windows到L ...
- 13-C语言字符串函数库
目录: 一.C语言字符串函数库 二.用命令行输入参数 回到顶部 一.C语言字符串函数库 1 #include <string.h> 2 字符串复制 strcpy(参数1,参数2); 参数1 ...
- 27_Blog Reader
这个App是用来读取 Official Google Blog 的内容,然后显示出来. 用了新建工程时用了 Master-Detail Application 这个模板.用了Core Data用来存储 ...
- C#)Windows Shell 编程系列5 - 获取图标
原文 C#)Windows Shell 编程系列5 - 获取图标 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 编程系列4 - 上下 ...
- jQuery tmpl index
<!-- 校验失败后显示 TODO--> <script id="checkError_table_tmpl" type="text/x-handleb ...
- 基于Visual C++2013拆解世界五百强面试题--题8-数组的排序和查找
用三种方法实现对一个数组的排序,并设计一个函数实现数的查找,要求时间越短越好,空间占用越少越好. 对数组排序的方法很多,我们选比较常用和容易的三种排序,直接插入排序,冒泡排序和快速排序. 直接插入排序 ...
- hdoj 5249 KPI(treap)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5249 思路分析:使用queue记录管道中的值并使用treap能够查询第K大的功能查询第floor(m/ ...