ajax 同步请求和异步请求的差异分析
来源:互联网 发布:剑网3萝莉脸型数据 编辑:程序博客网 时间:2024/04/27 01: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;
} 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请求,执行结果为:先执行alert(2)再执行alert(1), 异步的意思就是说一旦conn.open请求一发出,前端不去等待它的响应便执行后面的代码,所以alert(2)先执行了,然后当响应response到达以后才执行alert(1);
对于代码一,为同步的ajax请求,执行结果为:先执行alert(1)再执行alert(2), 同步的意思就是说一旦conn.open请求一发出,前端就去等待它的响应,响应完成以后,alert(1)先执行了,然后alert(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请求,执行结果为:先执行alert(2)再执行alert(1), 异步的意思就是说一旦conn.open请求一发出,前端不去等待它的响应便执行后面的代码,所以alert(2)先执行了,然后当响应response到达以后才执行alert(1);
对于代码一,为同步的ajax请求,执行结果为:先执行alert(1)再执行alert(2), 同步的意思就是说一旦conn.open请求一发出,前端就去等待它的响应,响应完成以后,alert(1)先执行了,然后alert(2);
- ajax 同步请求和异步请求的差异分析
- ajax请求的同步和异步操作
- ajax 同步请求和异步请求的区别
- Ajax之同步请求和异步请求的区别
- ajax 同步异步请求
- Ajax异步&同步请求
- AJAX 同步异步请求
- ajax同步/异步请求
- Ajax异步&同步请求
- web中的同步请求和异步请求的差别(重点是ajax中的同步与异步)
- js的ajax的异步和同步请求的问题
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 同步请求和异步请求的区别
- 如何让NoSQL内存数据库适合企业级应用
- [POJ][1005]I Think I Need a Houseboat
- POJ 1308 搜索
- 一个简单但完整的NDK demo
- ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)
- ajax 同步请求和异步请求的差异分析
- 飞机加油飞地球一圈的问题
- 二进制文件与文本文件
- 【黑马程序员】C#之try、catch觉得不错给大家看看!
- 非递归解决斐波纳挈数列问题
- poj 1002
- ExtJs4 动态加载
- ubuntu源更新出错的解决方法
- 总结出通过W3C XHTML1.0标准需要注意的九个问题: