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

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请求的实现方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos svn服务器端口配置文件,centos下配置svn服务器

安装了lnmp的集成环境包&#xff0c;服务器倒是很快就安好了。从官网下载一个SVN回来安装&#xff0c;刚开始因为下的svn是1.7的&#xff0c;但是他的支持包又是1.6的&#xff0c;结果编译不过&#xff0c;后来换成了1.6的&#xff0c;编译安装无问题&#xff0c;不过安完以后按…

ginapi服务器性能,gin框架构建Api之:环境配置和路由

Gin是一个golang的微框架&#xff0c;封装比较优雅&#xff0c;API友好&#xff0c;源码注释比较明确&#xff0c;已经发布了1.0版本。具有快速灵活&#xff0c;容错方便等特点。其实对于golang而言&#xff0c;web框架的依赖要远比Python&#xff0c;Java之类的要小。自身的ne…

楚留香手游服务器维护,【楚留香手游】4.27日游戏维护公告

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼诸位亲爱的少侠&#xff1a;绿阴铺野换新光&#xff0c;薰风初昼长。正所谓春困夏乏秋打盹&#xff0c;睡不醒的冬三月。一年虽四季&#xff0c;睡觉总相宜。立夏将至&#xff0c;天机阁弟子看少侠与周公天人交战实在辛苦&#xff…

mysql手动启动1067错误_解决MySQL启动时万恶的1067错误(转)

解决MySQL启动时万恶的1067错误(转)[more]我的机器不知为何&#xff0c;安装MySQL的时候&#xff0c;一到配置那一步就无休止的等待&#xff0c;只好结束任务&#xff0c;然而启动MySQL的时候出现1067错误提示。卸载&#xff0c;依然出现无休止等待&#xff0c;解决办法是先结束…

reset java_Java PushbackReader reset()用法及代码示例

Java中的PushbackReader类的reset()方法用于重置Stream。对于PushbackReader&#xff0c;此方法始终会引发异常&#xff0c;因为PushbackReader不支持此方法。用法:public void reset()参数&#xff1a;此方法不接受任何参数。返回值&#xff1a;此方法不返回任何值。异常&…

java如何关闭一个线程_如何关闭一个java线程池

Java 并发工具包中 java.util.concurrent.ExecutorService 接口定义了线程池任务提交、获取线程池状态、线程池停止的方法等。JDK 1.8 中&#xff0c;线程池的停止一般使用 shutdown()、shutdownNow()方法。shutdown有序关闭&#xff0c;已提交任务继续执行不接受新任务主线程向…

2048java课程设计报告_软件工程——Java版2048游戏学习报告

2048游戏学习报告姓名:王浩专业:计算机科学与技术年级:15级4班学号:201510411420目录一. 前言 3二. 对游戏的简要分析 31. 游戏的定位分析 32. 游戏的构造分析及对应代码 …

java android rsa加密解密_Android RSA数据加密与Java服务端RSA私钥解密出错问题

1. 出错描述&#xff1a;服务RSA解密抛出javax.crypto.BadPaddingException: Decryption error2.出错原因&#xff1a;Android系统使用的虚拟机(dalvik)跟SUN标准JDK是有所区别的&#xff0c;其中他们默认的RSA实现就不同。即Android端用Cipher.getInstance("RSA")方…

java ee 值范围_【转载】JAVAEE之内置对象和属性范围

内置对象和属性范围​ 四种属性范围​ 九个内置对象1.内置对象如果说想要使用一个对象&#xff0c;必须new 出来&#xff0c;但是在我们的jsp操作中&#xff0c;发现我们使用过的out,request对象没有进行实例化&#xff0c;类似于这样的对象&#xff0c;我们叫做jsp的内置对象&…

java线程池案例_使用Executors 和 ThreadPoolExecutor实现Java线程池案例

并发主题使用Executors 和 ThreadPoolExecutor实现Java线程池案例首先需要一个工作线程&#xff1a;package com.journaldev.threadpool;public class WorkerThread implements Runnable {private String command;public WorkerThread(String s){this.commands;}Overridepublic…

getordefault java_Java map.getOrDefault()方法的用法详解

Map.getOrDefault(Object key, V defaultValue)方法的作用是&#xff1a;当Map集合中有这个key时&#xff0c;就使用这个key值&#xff1b;如果没有就使用默认值defaultValue。代码示例如下&#xff1a;HashMap map new HashMap<>();map.put("name", "co…

java 复合_【福利】java新手做的复合型计算器!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼先前用那个代码不走样说要审核,我这里不用那个来发代码import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import java.awt.GridLayout;import javax.sw…

python模块如何导入解释器_无法从嵌入式解释器导入内置模块(仅限Windows)

这个问题看起来可能是一个重复的问题但我认为我的问题是不同的。我正在从一个MSVC编译的C应用程序运行Python 3.4解释器&#xff0c;并且我尝试使用PTVSD模块来调试更容易。到目前为止&#xff0c;我已经能够连接到Python Ipter&#xff0c;我从命令行开始&#xff0c;没有问题…

java方法的传递方式_JAVA基础--方法传参

JAVA基础--方法传参为啥拿这个当话题&#xff1f;在初学者阶段&#xff0c;许多童鞋都对方法传参比较迷茫&#xff0c;知其然不知其所以然。一.先说说参数传递的几个术语&#xff1a;值调用(call by vale):表示方法接收的是调用者传递的值。引用调用(call by reference):表示方…

java web spark_spark-微型的Java Web框架 Spark Framework

导读热词Spark是一个微型的Java Web框架&#xff0c;它的灵感来自于Sinatra&#xff0c;它的目的是让你以最小的代价创建出一个Java Web应用。Implement CORS in Spark -spark中如何处理跨域资源共享问题代码如下&#xff1a;// Enables CORS on requests. This method is an i…

java udp 协议_网络协议 - UDP 协议详解

网络协议 - UDP 协议详解 基于TCP和UDP的协议非常广泛&#xff0c;所以也有必要对UDP协议进行详解。pdai UDP概述UDP(User Datagram Protocol)即用户数据报协议&#xff0c;在网络中它与TCP协议一样用于处理数据包&#xff0c;是一种无连接的协议。在OSI模型中&#xff0c;在第…

java 8 foreach_Java 8 forEach Stream()与旧版forEach循环

我正在尝试使用Spring的示例代码.部分代码如下所示&#xff1b;private List points;long timeTakeninMilis System.currentTimeMillis();public List getPoints() {return points;}public void setPoints(List points) {this.points points;}public void drawJava8() {point…

java list 超出范围_java-列索引超出范围:2,列数1

我有这个表&#xff1a;学生CREATE TABLE IF NOT EXISTS Klas_student(Student varchar(7) REFERENCES studenten (Studentenummer) ON DELETE CASCADE NOT NULL,Klas text NOT NULL REFERENCES Klas (Naam_id) ON DELETE CASCADE NOT NULL);在此表格中,我想添加值,我使用prepa…

java 写入指定路径文件_java对指定目录下文件读写操作介绍 | 学步园

最近因为项目的国际化的需要&#xff0c;需要对整个项目的100来个插件做国际化&#xff0c;这是一件痛苦的事情&#xff0c;因为纯体力劳动。为了省点工作量&#xff0c;想着能不能写个程序批处理了&#xff0c;减少点工作量&#xff0c;于是就有了下面的代码。1.读取指定的(.j…

点击编辑框全选内容java_Android 中使用EditText 点击全选再次点击取消全选功能

最近在开发浏览器碰到这么一个需求&#xff1a;点击地址栏的时候&#xff0c;需要全选并调出键盘&#xff0c;再次点击就取消全选显示光标。点击屏幕除地址栏其他位置时&#xff0c;键盘隐藏&#xff0c;隐藏光标。大部分浏览器都是这样的逻辑&#xff0c;这样可以提高用户体验…