加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax 同步请求和异步请求的差异分析

发布时间:2020-12-16 00:52:22 所属栏目:百科 来源:网络整理
导读:ajax同步和异步的差异, 先看2段代码: 代码一: 代码如下: Synchronize = function(url,param) { function createXhrObject() { var http; var activeX = [ "MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP" ]; try { http = new XMLHttpRequest;
ajax同步和异步的差异, 先看2段代码:
代码一:
代码如下:

Synchronize = function(url,param) {
function createXhrObject() {
var http;
var activeX = [ "MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP" ];
try {
http = new XMLHttpRequest;
} catch (e) {
for (var i = 0; i < activeX.length; ++i) {
try {
http = new ActiveXObject(activeX[i]);
break;
} catch (e) {}
}
} finally {
return http;
}
}
var conn = createXhrObject();
conn.open("POST",url,false);//ajax同步
conn.send(param);
var strReturn = conn.responseText;
alert("1");
if (strReturn != "") {
return Ext.decode(conn.responseText);
} else {
return null;
}
alert("2");
};

代码二:
Ajax 同步请求方式:
代码如下:
Synchronize = function(url,param) { function createXhrObject() { var http; var activeX = [ "MSXML2.XMLHTTP.3.0","Microsoft.XMLHTTP" ]; try { http = new XMLHttpRequest; } catch (e) { for (var i = 0; i < activeX.length; ++i) { try { http = new ActiveXObject(activeX[i]); break; } catch (e) {} } } finally { return http; } } var conn = createXhrObject(); conn.open("POST",true);//ajax异步 conn.send(param); var strReturn = conn.responseText; alert("1"); if (strReturn != "") { return Ext.decode(conn.responseText); } else { return null; } alert("2"); };
同步和异步的差异如下: conn.open('POST',Url,true); // ajax异步 conn.open('POST',false); // ajax同步 对于代码二,为异步的ajax请求,执行结果为:先执行alert(2)再执行alert(1),异步的意思就是说一旦conn.open请求一发出,前端不去等待它的响应便执行后面的代码,所以alert(2)先执行了,然后当响应response到达以后才执行alert(1); 对于代码一,为同步的ajax请求,执行结果为:先执行alert(1)再执行alert(2),同步的意思就是说一旦conn.open请求一发出,前端就去等待它的响应,响应完成以后,alert(1)先执行了,然后alert(2);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读