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 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
js 模拟气泡屏保效果代码
Jul 10 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
含有CKEditor的表单如何提交
Jan 09 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
Nov 01 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
工厂模式在JS中的实践
Jan 18 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
如何制作自己的原生JavaScript路由
May 05 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
php巧获服务器端信息
2006/12/06 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
python实现感知器
2017/12/19 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
C++的几个面试题附答案
2016/08/03 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
2014年班组工作总结
2014/11/20 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
追悼词范文大全
2015/06/23 职场文书
重阳节活动主持词
2015/07/04 职场文书
MySQL中in和exists区别详解
2021/06/03 MySQL