码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-04-06 17:40:57      阅读:1060      评论:0      收藏:0      [点我收藏+]

标签:something   return   bsp   重要   json   rip   时间   false   简单   

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

  

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

标签:something   return   bsp   重要   json   rip   时间   false   简单   

原文地址:http://www.cnblogs.com/lzweb/p/6674574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!