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 ...
随机推荐
- BZOJ 1997: [Hnoi2010]Planar( 2sat )
平面图中E ≤ V*2-6.. 一个圈上2个点的边可以是在外或者内, 经典的2sat问题.. ----------------------------------------------------- ...
- eclipse手动添加源码
在开发过程中,有的时候需要我们自已手动去添加一些源码文件,但是由于我们可能在eclipse中安装了jad反编译插件,我们再用“Ctrl + 鼠标左键”的话,会打开已经反编译好的class文件,而不是带 ...
- C文件操作(转载)
/*1.文件的打开(fopen函数)fopen函数用来打开一个文件,其调用的一般形式为:文件指针=fopen(文件名,文件操作方式):例如:FILE *fpinfpin=fopen("c:\ ...
- C# Convert an enum to other type of enum
Sometimes, if we want to do convert between two enums, firstly, we may think about one way: var myGe ...
- ASP.NET MVC进阶之路:依赖注入(Di)和Ninject
0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点.在程序运行过程中,客户 ...
- AnyEvent::HTTP 实现异步请求
异步http: jrhmpt01:/root/async# cat a1.pl use LWP::UserAgent; use utf8; use DBI; use POSIX; use HTTP:: ...
- jQuery.fn.serialize 阅读
今天第一次阅读jQuery源码,因为读到用js对表单的序列化,为的是在ajax操作中将表单中各个域的值传到服务器.书上用了很长的步骤,判断每一个表单域的属性,然后拼接. 大概是这样: function ...
- 细数C++和C的差别
C++语言是对C语言的扩展.所以熟悉C语言的人会发现.本书的第01~18章讲的内容基本上和C语言的内容差点儿相同. C++一方面对C语言的语法进行了改动.还有一方面又加入一些新的概念. C++中新增的 ...
- leetcode第一刷_Construct Binary Tree from Inorder and Postorder Traversal
这道题是为数不多的感觉在读本科的时候见过的问题. 人工构造的过程是如何呢.兴许遍历最后一个节点一定是整棵树的根节点.从中序遍历中查找到这个元素,就能够把树分为两颗子树,这个元素左側的递归构造左子树,右 ...
- hdu4300之KMP&&EKMP
Clairewd’s message Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...