ajax同步请求与异步请求的区别

ajax 区别:

async:布尔值,用来说明请求是否为异步模式。async是很重要的,因为它是用来控制JavaScript如何执行该请求。

当设置为true时,将以异步模式发送该请求,JavaScript代码将继续执行而不再等待响应,且必须使用一个事件处理函数来监控请求的响应。

如果将async设置为false,则将以同步模式发送该请求, JavaScript将等接收到响应后再继续执行剩余代码。

这意味着如果响应时间很长,则用户在浏览器收到响应之前是将无法与其交互的。

基于这个原因,Ajax应用程序开发的最佳实践是,使用异步请求来实现数据获取,使用同步请 求来实现与服务器之间发送和接收简单的消息。

这对于想让用户交互等待响应,或希望只接收很少的数据(例如,小于1KB)的应用场景是很有用的。而对于通常的数据量或较大的数据量而言,最好还是使用异步调用。

例如:以下例子会出现返回结果不正确的情况,因为ajax异步请求还未执行完,函数已经执行return了。

function fn(){ 

var result = " "; 

$.ajax({
  url : ‘your url‘,
  data:{name:value},
  cache : false,
  async : true,
  type : "POST",
  success : function (data){
    do something.... 

    result = ....
} 

// 对ajax中返回的data进行处理 ,也会出错 

return result ;
}

  1 异步请求方式:

$.ajax({
    url : ‘your url‘,
    data:{name:value},
    cache : false,
    async : true,
    type : "POST",
    dataType : ‘json/xml/html‘,
    success : function (result){
        do something....
    }
}); 

2 同步请求方式

$.ajax({
    url : ‘your url‘,
    data:{name:value},
    cache : false,
    async : false,
    type : "POST",
    dataType : ‘json/xml/html‘,
    success : function (result){
        do something....
    }
});

  

时间: 2024-11-05 16:05:08

ajax同步请求与异步请求的区别的相关文章

ajax,同步请求 ,异步请求

同步请求,异步请求 ,这样的字眼我想既然你能看到这篇文章并且点击进来 ,说明我们应该是听过他的,并且 听得次数还不少,说到异步请求 ,首先我想到就是ajax, ajax的问题一会再说,今天我突然想到,我们平时都会 尽量的去 用ajax使用异步 的方式请求数据, 那么你知道到底是同步请求的数据更快,还是异步请求的数据更快吗? 异步传输是面向字符的传输,它的单位是字符:而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的. 同步传输通常要比异步传输快速得多.接收

POST和GET以及同步请求和异步请求的区别

一.HTTP是应用层的网络传输协议,对于HTTP的请求方式主要流行的GET请求与POST请求对于GET请求与POST请求的区别 1.GET请求,服务器以及参数都会出现在请求接口中,也就是请求参数也是接口的一部分,而POST请求在接口中只有服务器地址,而参数会作为请求提交给服务器. 2.因为GET请求会出现在请求接口中,所以信息容易被捕获,安全性低,POST请求参数封装在请求体中,作为二进制流进行传输,不易被捕获,安全性高. 3.GET在请求时,接口的字节数有限制,支持小数据的提交,而POST请求

iOS总结:ASIHttpRequest类库发送请求(同步请求和异步请求)

1.发送异步请求 1)在.h中导入头文件 #import "ASIHTTPRequest.h" 2)设置代理 ASIHTTPRequestDelegate 3)URL —-> 发请求 —> 设置代理 —> 开始异步请求 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [

IOS之同步请求、异步请求、GET请求、POST请求(转)

1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行 3.GET请求,将参数直接写在访问路径上.操作简单,不过容易被外界看到,安全性不高,地址最多255字节: 4.POST请求,将参数放到body里面.POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获. 001 1.  

Objective-C Http常用API 同步请求与异步请求

开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的 API,而它跟其他的面向对象语言有许多共通之处.本文分同步请求和异步请求这两种情况来讲解一下Http API的使用.直接上代码,注释即文档! 同步请求:即发起Http请求.获取并处理返回值都在同一个线程中进行 view sourceprint? 01.//创建URL对象 02.NSString *urlStr = @"http://blog.csdn.net/ro

ios中的ASIHTTPRequest的同步请求和异步请求

1.首先加入ASI开源库 2. WebImageView.h #import <UIKit/UIKit.h> #import "ASIHTTPRequest.h" @interface WebImageView :UIImageView<ASIHTTPRequestDelegate> - (void)setImageURL:(NSURL *)url; @end WebImageView.m #import "WebImageView.h" #

【Objective-C】Http常用API、同步请求与异步请求[转]

比较实用, 转载保存 开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的API,而它跟其他的面向对象语言有许多共通之处.本文分同步请求和异步请求这两种情况来讲解一下Http API的使用.直接上代码,注释即文档! 同步请求:即发起Http请求.获取并处理返回值都在同一个线程中进行 [objc] view plaincopy //创建URL对象 NSString *urlStr = @"http://blog.csd

同步IO与异步IO的区别

同步IO与异步IO的区别 首先要明确一点:不同IO模型之间的差别本质上是CPU的参与方式 这里重点说一下各自的应用场景 如何选择同步还是异步呢? 主要有这么几个指标供参考 1. 并发数量 2. 接收字节数 3. 处理请求所需CPU时间 我们一个一个来考察 并发数 并发低的时候同步IO与异步IO差别不大 并发高时差别会比较明显,这要表现在 1. 开启线程数:如并发1000时,同步IO要开启1000个线程,1000个线程要占用很多内存,这是其一,其二1000个线程间切换的时间也是很可观的:异步IO则

同步请求和异步请求的区别(理解ajax用)

同步请求:发送方发送数据包后,等待接收方发回响应之后,才能发送下一个数据包的通信方式. 异步请求:发送方发送数据包后,不用等待接收方发回响应,就可以发送下一个数据包的通信方式. 同步通信:要求通信双方在相同的时钟频率下,并且准确协调,是通过共享单个时钟或定时脉冲源来保证双方准确同步,效率高. 异步通信:不要求通信双方同步,双方可采用各自的时间源,遵循异步通信协议,以字符为数据传输单位,发送字符的时间间隔不确定,发送效率较同步通信低. 同步请求:通过单线程服务,该线程发送请求,在服务器运行时阻塞,