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()的部分执行完毕为止 。

时间: 2024-10-02 14:57:59

AJAX同步与异步的相关文章

AJAX同步改异步

var temp; $.ajax({ async: false, type : "POST", url : defaultPostData.url, dataType : 'json', success : function(data) { temp=data; } }); alert(temp); 当在ajax中嵌套ajax使用的时候,可能会出现,第二个ajax的值成功返回了,但第一个ajax还没执行完毕.所以就需要将同步执行的两个ajax改成异步执行的.说白话就是当第一个ajax执

AJAX同步和异步

请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用window.location.search获得).参数可以用encodeURIComponent进行编码,使用方式: var EnParam = encodeURIComponent(param); URL只支持大约2K的长度,即2048字符数:使用GET进行AJAX请求时候会缓存导致出现的页面不是正确的,一般方法加random参数值:aja

jquery的ajax同步和异步

之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除. 而异步则这个AJAX代码运行中的时候其他代码一样可以运行. jquery的async:false,这个属性 默认是true:异步,false:同步. $.ajax({ type: "post", url: "

ajax同步,异步

传输数据 同步:第一条传过去,对方接收到反馈以后,再传第二条; 异步:第一条传过去,不管对方有没有收到,继续传第二条. ajax(默认异步 async:true) 同步:执行完ajax内部代码,才执行后面代码; 异步:执行ajax内部代码的同时,继续执行后面的代码,两者同步进行. 相比而言,异步运行效率高,但下面可能收不到传过来的值,因为不确定ajax内部代码有没有执行完.

ajax同步、异步执行简单理解与证明

此理解范例代码来自前几篇随笔! 重在实际操作练习一下!!!!! 在$.ajax()中我们可以常常看到async,这就是来指定ajax同步异步的,需要记忆一下: 记忆方法: sync英语中的意思是:“同步”.“同步的”.“同步处理” 前面加个“a”,构成async英文中的意思是:“异步” 再者给他指定true和false那就容易理解了: “async:true” 意思是:“异步” “async:false” 意思是:“同步” 分析async作用: 当“async:true”时,也就是异步执行aja

Ajax同步、异步和相应数据格式

(一)同步和异步 xhr.open()方法第三个参数要求传入的是一个 布尔值,其作用就是设置此次请求是否采用异步方式执行 默认为 true异步 可修改为 false为同步. 异步代码举栗: 1 console.log('before ajax') 2 var xhr = new XMLHttpRequest() 3 // 默认第三个参数为 true 意味着采用异步方式执行 4 xhr.open('GET', '/time', true) 5 xhr.send(null) 6 xhr.onread

一个ajax同步与异步引发的血案。

前言 公司做网上促销活动,需要充值换取相应的抽奖资格,抽奖可以获得丰厚的礼品,而且抽奖资格门槛有点高,领导下达命令保证活动的正常上线与运行,领导很重视,就这样,在领导的安排下进行了相关活动的coding... 正文 开发过程倒还顺利,只是转盘抽奖耽误了点时间,不过最后还是正常制作完毕,相关测试人员也进行了测试,活动上线开始倒计时,心里有那么点忐忑. 果不其然,活动上线2分钟,一个玩家在没有任何充值,而且抽奖资格也是0的情况下,抽了5,6次,都获得了比较给力的礼品,这是查看数据库记录得到的结果,由

简单直白解释Ajax 同步,异步

异步AJAX: 主线程:“你好,AJAX线程.请你帮我发个HTTP请求吧,我把请求地址和参数都给你了.” AJAX线程:“好的,主线程.我马上去发,但可能要花点儿时间呢,你可以先去忙别的.” 主线程::“谢谢,你拿到响应后告诉我一声啊.” (接着,主线程做其他事情去了.一顿饭的时间后,它收到了响应到达的通知.) 同步AJAX: 主线程:“你好,AJAX线程.请你帮我发个HTTP请求吧,我把请求地址和参数都给你了.” AJAX线程:“......” 主线程::“喂,AJAX线程,你怎么不说话?”

jquery 同步和异步请求

1. $.ajax 同步和异步请求 1 $.ajax({ 2 type: "POST", 3 url: "some.php", 4 async : true, // true 异步,false 同步 5 // or data:{name:"John",locationi:"Boston"} 6 data: "name=John&location=Boston", 7 success: functio