php和ajax的同步和异步请求,ajax 同步请求和异步请求的差异分析_javascript技巧
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", "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, 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',Url,false); // ajax同步
對于代碼二,為異步的ajax請求,執(zhí)行結(jié)果為:先執(zhí)行alert(2)再執(zhí)行alert(1), 異步的意思就是說一旦conn.open請求一發(fā)出,前端不去等待它的響應(yīng)便執(zhí)行后面的代碼,所以alert(2)先執(zhí)行了,然后當(dāng)響應(yīng)response到達以后才執(zhí)行alert(1);
對于代碼一,為同步的ajax請求,執(zhí)行結(jié)果為:先執(zhí)行alert(1)再執(zhí)行alert(2), 同步的意思就是說一旦conn.open請求一發(fā)出,前端就去等待它的響應(yīng),響應(yīng)完成以后,alert(1)先執(zhí)行了,然后alert(2);
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的php和ajax的同步和异步请求,ajax 同步请求和异步请求的差异分析_javascript技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 方法 手写promise_JS探索-手写
- 下一篇: 三星s4 android 6.0吗,快了