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

发布于 2016-12-27 08:14:26 | 53 次阅读 | 评论: 0 | 来源: 网友投递

JavaScript客户端脚本语言Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。

ajax 同步请求和异步请求的差异分析,需要的朋友可以参考下。

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);

相关阅读:

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

Ajax 数据请求的简单分析

javascript中基本类型和引用类型的区别分析

JS中三目运算符和if else的区别分析与示例

JS代码放在head和body中的区别分析

event.X和event.clientX的区别分析

各浏览器对link标签onload/onreadystatechange事件支持的差异分析

浅析$.getJSON异步请求和同步请求

详解XMLHttpRequest(一)同步请求和异步请求

实例讲解使用原生JavaScript处理AJAX请求的方法

js中同步与异步处理的方法和区别总结

js每隔5分钟执行一次ajax请求的实现方法

同步请求和ajax请求,ajax 同步请求和异步请求的差异分析相关推荐

  1. JSP同步请求和html+ajax异步请求的两种方式

    war包:包括所有的项目资源,只要从浏览器发起的都是属于请求,然后把资源响应给浏览器,解析显示出来. 方式一:HTML+ajax(跳转静态html也是属于请求响应,把整个页面响应给浏览器.) html ...

  2. AJAX实现简单的注册页面异步请求

    AJAX简介 (1)AJAX = 异步 JavaScript 和 XML. (2)AJAX 是一种用于创建快速动态网页的技术. (3)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更 ...

  3. json请求 post vue_Spring Boot+Vueaxios异步请求数据的12种操作(上篇)

      Java大联盟 致力于最高效的Java学习 关注 Spring Boot + Vue 前后端分离最核心的操作就是通过异步请求完成数据同步,这其中又可以分为很多种不同的情况,比如是 GET 请求还是 ...

  4. PHP guzzle异步请求数据,Guzzle中的异步请求

    Guzzle中的异步请求 使用Guzzle发起异步请求 Guzzle是一个PHP的HTTP客户端,它在发起http请求时不仅可以同步发起,还可以异步发起. $client = new Client() ...

  5. Servlet学习DAY_02:重定向/ 文件上传/ Cookie和Session/ 导入一个工程 / 配置欢迎页面 / 同步请求和异步请求/JSON和AJax介绍 /过滤器

    重定向 重定向是服务器告诉客户端往指定的路径再次发出请求的指令 执行过程: 当服务器执行重定向方法时会给客户端返回302状态码和一个请求路径,浏览器接收到302后会立即往指定的路径再次发出请求 res ...

  6. Ajax——同步请求与异步请求

    Ajax--同步请求与异步请求 浏览器和服务器之间数据传输方式 同步方式 异步方式 两种方式有什么不同? 同步请求,服务器响应时,页面整体刷新 异步请求,服务器响应时,页面局部刷新 异步请求有什么优点 ...

  7. 原生Ajax请求流程:同步请求、异步请求

    Ajax 异步无刷新技术 原生Ajax的实现流程 得到XMLHttpRequest对象 - var xhr = new XMLHttpRequest(); 打开请求 - xhr.open(method ...

  8. ajax异步处理代码实现,原生JS代码实现一个Ajax异步请求

    异步加载的方式 (1) defer,只支持IE (2) async: (3) 创建script,插入到DOM中,加载完毕后callBack 实现ajax之前必须要创建一个 XMLHttpRequest ...

  9. $.ajax 发送请求,JavaScript之Ajax-2 Ajax(使用Ajax发送get请求、使用Ajax发送post请求)

    一.使用Ajax发送get请求 发送异步请求的步骤 - 获取Ajax对象:获取 XMLHttpRequest对象实例 - 创建请求:调用XMLHTTPRequest对象的open方法 - 设置回调函数 ...

最新文章

  1. elk日志分析系统_部署ELK企业内部日志分析系统
  2. MyBatis+Spring整合
  3. JSTracker:前端异常数据采集
  4. Android开发之百度地图经纬度转换地址(以及获取详细地址的方法自测成功)
  5. Qt 编写应用程序升级的配置文件json 生成工具
  6. winform 统计大量数据重复的元素个数_DAY10——推断统计之概率与概率分布:常见的离散型概率分布...
  7. pandas获取最大值/最小值对应的index
  8. oracle修改用户密码命令_oracle 11g dba用户秘密修改其他用户密码
  9. 联想x100e linux,进化之道!ThinkPad X100e全球首发测试
  10. 【MySQL数据库开发之三】MySQL 获得数据库和表操作!
  11. Executors中的几种线程调用方式
  12. 如何搜mac_今日头条号权重怎么查?如何提高头条号权重?看完这篇你就懂了
  13. 数字图像处理:图像直方图基础知识介绍
  14. 通信协议(一)——UART协议
  15. 苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)
  16. Java--IDEA报错Project ‘org.springframework.boot:spring-boot-starter-parent:2.2.0.RELEAS
  17. Kafka-常见问题
  18. win10 隐藏图标
  19. 项目推送到远程gitLab库时一般需要排除什么文件及其如何排除?
  20. FME 2011预览:新特性 IFMEWorkspaceRunner

热门文章

  1. java控制台高级_K9s Kubernetes的高级控制台
  2. python多元函数求极小值_使用遗传算法求二元函数的最小值
  3. react项目中的参数解构_一天入门React学习心得
  4. 安全使用计算机事例,计算机安全案例分析.ppt
  5. Win11任务栏颜色如何更改 Win11更改任务栏颜色教程
  6. Error running ‘Tomcat‘: Unable to open debugger port (127.0.0.1:2148): java.net.SocketExceptio
  7. dubbo:reference、dubbo:service和@Service、@Reference使用情况
  8. 03 - 变量的数据类型
  9. 嵌入式linux组件,嵌入式Linux系统的几大组件!
  10. mysql数据库中删除数据用什么语句_mysql数据库删除数据语句