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 相关文章推荐
jquery.alert 弹出式复选框实现代码
Jun 15 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
Aug 11 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 Javascript
js动态给table添加/删除tr的方法
Aug 02 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
Jun 23 Javascript
Angularjs全局变量被作用域监听的正确姿势
Feb 06 Javascript
如何使用Vuex+Vue.js构建单页应用
Oct 27 Javascript
微信小程序返回多级页面的实现方法
Oct 27 Javascript
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
ES6 系列之 Generator 的自动执行的方法示例
Oct 19 Javascript
JS实现滑动导航效果
Jan 14 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
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
使用python开发vim插件及心得分享
2014/11/04 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
python中time库的实例使用方法
2019/10/31 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
国贸专业的职业规划范文
2014/01/23 职场文书
安全生产活动月方案
2014/03/09 职场文书
平安建设工作方案
2014/06/02 职场文书
公司离职证明样本
2014/09/13 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
北京故宫的导游词
2015/01/31 职场文书