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

时间:2011-07-05 12:36:04 

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, 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,同步,异步
0
投稿

猜你喜欢

  • 分享Pycharm中一些不为人知的技巧

    2023-10-04 04:52:54
  • JavaScript每天必学之基础知识

    2024-04-18 10:02:25
  • mysql数据库备份命令分享(mysql压缩数据库备份)

    2024-01-22 10:36:57
  • python爬取网页转换为PDF文件

    2023-02-11 08:48:24
  • Python tkinter实现桌面软件流程详解

    2022-03-26 09:51:32
  • PJBlog3优化——单击自动输入验证码

    2009-05-17 11:03:00
  • python 获取一个值在某个区间的指定倍数的值方法

    2023-04-08 17:19:07
  • oracle的nvl函数的使用介绍

    2023-07-19 14:42:20
  • python 通过exifread读取照片信息

    2022-12-09 13:44:53
  • Pycharm修改python路径过程图解

    2022-10-27 15:57:26
  • 解决Pycharm 运行后没有输出的问题

    2023-06-02 04:48:19
  • 深入理解Java线程编程中的阻塞队列容器

    2024-05-13 10:37:58
  • 如何在数据库中限制检索行数?

    2010-06-22 21:04:00
  • Django之第三方平台QQ授权登录的实现

    2023-04-27 16:37:06
  • 教你用Python下载抖音无水印视频

    2022-11-18 06:08:42
  • 页面中横排布局的思考

    2008-01-18 12:56:00
  • 编写高质量代码的30条黄金守则(首选隐式类型转换)

    2022-07-19 13:03:41
  • PHP:微信小程序 微信支付服务端集成实例详解及源码下载

    2023-11-14 13:37:55
  • Python分析彩票记录并预测中奖号码过程详解

    2023-07-20 04:49:18
  • 12个步骤教你理解Python装饰器

    2021-01-25 18:28:56
  • asp之家 网络编程 m.aspxhome.com