jquery ajax属性async(同步异步)示例


Posted in Javascript onNovember 05, 2013

例1、jquery+ajax/" target="_blank">jquery ajax同步方式

$.ajax({
url : 'test.php',
type : 'post',
async: false,//使用同步的方式,true为异步方式
data : {'act':'addvideo', 'videoname':videoname},//这里使用json对象
success : function(data){
//code here...
},
fail:function(){
//code here...
}
});

例2
//javascript
function test()
{
 var a= 1;
 $.ajax({
  type   : 'GET',
  url    : 'test.php',
  data   : 'page=112',
  success:function(msg)
  {
   alert(msg);
   a= msg;
  }
 })
 alert(a);
}
//test.php
sleef('5'); //休息五分钟
echo 'in';
/*
 这个程序运行情况是  先打印1(a=1) 然后五秒过后 打印 in
 根据这个情况就可以知道 jquery 的ajax的执行流程 
 因为是异步调用
 以前就是这样给一个变量赋值  不管怎么弄都是不对的。最后就发现这个问题
 参数async改为false就为同步调用 当ajax返回结果后程序才继续执行
*/
 

在这里,async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)例:
例3
$.ajax({  
          type:"POST", 
         url:"Venue.aspx?act=init", 
           dataType:"html", 
          success:function(result){   //function1()
             f1(); 
             f2(); 
        } 
         failure:function (result) {  
            alert('Failed');  
         }, 
  } 
  function2(); 
 

在上例中,当ajax块发出请求后,他将停留function1(),等待server端的返回,但同时(在这个等待过程中),前台会去执行function2(),也就是说,在这个时候出现两个线程,我们这里暂且说为function1() 和function2()。
当把asyn设为false时,这时ajax的请求时同步的,也就是说,这个时候ajax块发出请求后,他会等待在function1()这个地方,不会去执行function2(),知道function1()部分执行完毕。
注意
同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。
而异步则这个AJAX代码运行中的时候其他代码一样可以运行。
jquery的async:false,这个属性
Javascript 相关文章推荐
JS target与currentTarget区别说明
Aug 28 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
鼠标移到图片上变大显示而不是放大镜效果
Jun 15 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
浅析JavaScript 调试方法和技巧
Oct 22 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
微信小程序 基础组件与导航组件详细介绍
Feb 21 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
微信小程序画布圆形进度条显示效果
Nov 17 Javascript
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
简单了解JS打开url的方法
Feb 21 Javascript
jQuery Ajax异步处理Json数据详解
Nov 05 #Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 #Javascript
客户端js性能优化小技巧整理
Nov 05 #Javascript
js倒计时小程序
Nov 05 #Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 #Javascript
javascript使用location.search的示例
Nov 05 #Javascript
jquery按回车提交数据的代码示例
Nov 05 #Javascript
You might like
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
精通php的十大要点(上)
2009/02/04 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
Python中变量交换的例子
2014/08/25 Python
Python制作动态字符图的实例
2019/01/27 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
Python sorted对list和dict排序
2020/06/09 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
迟到早退检讨书
2014/02/10 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python