Ajax请求中async:false/true的作用分析
本文实例分析了Ajax请求中async:false/true的作用。分享给大家供大家参考,具体如下:
test.html代码:
<a href="javascript:void(0)" onmouseover="testAsync()">
asy.js代码:
function testAsync(){
var temp;
$.ajax({
async: false,
type : "GET",
url : 'tet.php',
complete: function(msg){
alert('complete');
},
success : function(data) {
alert('success');
temp=data;
}
});
alert(temp+' end');
}
tet.php代码:
<?php echo "here is html code"; sleep(5); ?>
async: false,(默认是true);
如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,只有tet.php执行结束后,才可以执行其它操作。
当async: true 时,ajax请求是异步的。但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,
如: alert(temp+' end');
然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。
更多关于ajax相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《JavaScript中ajax操作技巧总结》、《PHP+ajax技巧与应用小结》和《asp.net ajax技巧总结专题》
希望本文所述对大家ajax程序设计有所帮助。
相关文章
AJAX 请求区分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解
关于这个内容,很多人都有所了解.但从我搜索的内容来看,他们只是略微看一下,根本不知道里面到底是什么情况.2011-06-06
Ajax获取到数据放入echarts里不显示的原因分析及解决办法
在做一个需要用到echarts地图的项目的时候,成功通过ajax获取到了后台提供的数据,并生成了想要的JSON串。但是,放到echarts option.series[0].data里,获取不到数据。在生成的地图上无法看到你从后台获取到的值,下面小编给大家分享我的解决办法,需要的朋友参考下2016-01-01
Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
这篇文章主要介绍了Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)的相关资料,我们要根据异步提交,局部刷新的思想来实现来提高用户交互问题,对ajax二级联动效果感兴趣的朋友一起看看吧2016-11-11
Ajax bootstrap美化网页并实现页面的加载删除与查看详情
Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。下面通过本文给大家介绍Ajax bootstrap美化网页并实现页面的加载删除与查看详情,需要的朋友可以参考下2017-03-03


最新评论