ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析
更新時(shí)間:2011年07月04日 23:38:39 作者:
ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析,需要的朋友可以參考下。
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 同步請(qǐng)求方式:
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同步
對(duì)于代碼二,為異步的ajax請(qǐng)求,執(zhí)行結(jié)果為:先執(zhí)行alert(2)再執(zhí)行alert(1), 異步的意思就是說一旦conn.open請(qǐng)求一發(fā)出,前端不去等待它的響應(yīng)便執(zhí)行后面的代碼,所以alert(2)先執(zhí)行了,然后當(dāng)響應(yīng)response到達(dá)以后才執(zhí)行alert(1);
對(duì)于代碼一,為同步的ajax請(qǐng)求,執(zhí)行結(jié)果為:先執(zhí)行alert(1)再執(zhí)行alert(2), 同步的意思就是說一旦conn.open請(qǐng)求一發(fā)出,前端就去等待它的響應(yīng),響應(yīng)完成以后,alert(1)先執(zhí)行了,然后alert(2);
代碼一:
復(fù)制代碼 代碼如下:
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 同步請(qǐng)求方式:
復(fù)制代碼 代碼如下:
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同步
對(duì)于代碼二,為異步的ajax請(qǐng)求,執(zhí)行結(jié)果為:先執(zhí)行alert(2)再執(zhí)行alert(1), 異步的意思就是說一旦conn.open請(qǐng)求一發(fā)出,前端不去等待它的響應(yīng)便執(zhí)行后面的代碼,所以alert(2)先執(zhí)行了,然后當(dāng)響應(yīng)response到達(dá)以后才執(zhí)行alert(1);
對(duì)于代碼一,為同步的ajax請(qǐng)求,執(zhí)行結(jié)果為:先執(zhí)行alert(1)再執(zhí)行alert(2), 同步的意思就是說一旦conn.open請(qǐng)求一發(fā)出,前端就去等待它的響應(yīng),響應(yīng)完成以后,alert(1)先執(zhí)行了,然后alert(2);
您可能感興趣的文章:
- jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
- SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)
- ajax異步請(qǐng)求詳解
- Vue form 表單提交+ajax異步請(qǐng)求+分頁(yè)效果
- AJAX實(shí)現(xiàn)簡(jiǎn)單的注冊(cè)頁(yè)面異步請(qǐng)求實(shí)例代碼
- dojo學(xué)習(xí)第二天 ajax異步請(qǐng)求之綁定列表
- ajax的工作原理以及異步請(qǐng)求的封裝介紹
- 基于JQuery的$.ajax方法進(jìn)行異步請(qǐng)求導(dǎo)致頁(yè)面閃爍的解決辦法
- Ajax異步請(qǐng)求JSon數(shù)據(jù)(圖文詳解)
- 四步輕松實(shí)現(xiàn)ajax發(fā)送異步請(qǐng)求
相關(guān)文章
一個(gè)用js實(shí)現(xiàn)過濾重復(fù)字符的函數(shù)
一個(gè)用js實(shí)現(xiàn)過濾重復(fù)字符的函數(shù)...2007-08-08AJAX異步從優(yōu)酷專輯中采集所有視頻及信息(JavaScript代碼)
上次寫了一個(gè) .NET從優(yōu)酷專輯中采集所有視頻及信息(VB.NET代碼)2010-11-11微信小程序關(guān)鍵字變色實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了微信小程序關(guān)鍵字變色實(shí)現(xiàn)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12