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之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
Document对象内容集合(比较全)
Sep 06 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
Jul 25 Javascript
jquery的each方法使用示例分享
Mar 25 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
Aug 15 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
js提取中文拼音首字母的封装工具类
Mar 12 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 Javascript
vue强制刷新组件的方法示例
Feb 28 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中用foreach来操作数组的代码
2011/07/17 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
javascript radio 联动效果
2009/03/04 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
JavaScript常用工具函数库汇总
2020/09/17 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
想学画画?python满足你!
2020/12/24 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
纬创Java面试题笔试题
2014/10/02 面试题
《彩色世界》教学反思
2014/04/12 职场文书
环保倡议书300字
2014/05/15 职场文书
个人安全承诺书
2014/05/22 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python