解决ajax无法给外部变量赋值
来源:互联网 发布:淘宝易行堂 编辑:程序博客网 时间:2024/05/15 16:35
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后才赋值的,结果,输出时会为空。
<a href="javascript:void(0)" onmouseover="testAsync()">
asy.js
function testAsync(){
}
tet.php
<?php
?>
async: false,(默认是true);
如上:false为同步,这个 testAsync()方法中的Ajax请求将整个浏览器锁死,
只有tet.php执行结束后,才可以执行其它操作。
当async: true 时,ajax请求是异步的。但是其中有个问题:testAsync()中的ajax请求和其后面的操作是异步执行的,那么当tet.php还未执行完,就可能已经执行了 ajax请求后面的操作,
如: alert(temp+'
然而,temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。
0 0
- 解决ajax无法给外部变量赋值
- ajax请求成功后无法在success方法里给外部变量赋值的问题
- 解决ajax方法内部不能给方法外部变量赋值的问题
- 解决ajax方法内部不能给方法外部变量赋值的问题
- 解决ajax方法内部不能给方法外部变量赋值的问题
- awk给外部变量赋值
- 为什么ajax中加载的数据无法赋值给变量
- 执行sql语句给外部变量赋值
- ajax异步回调函数中给外部变量赋值的问题
- 为什么$.getJSON无法对外部变量进行赋值?
- [置顶]Ajax回调数据赋值给变量的问题
- 通过ajax给js成员变量赋值问题
- 遇到问题-----------getJSON为什么不能给外部变量赋值?或者getJson赋值无效
- jquery ajax成功响应后无法赋值给全局变量
- ajax给session赋值
- ajax给session赋值
- sql 给变量赋值
- 函数赋值给变量
- hdu1003
- LeetCode个人笔记-Two Sum(1)
- 【数据结构】:排序--选择排序
- 重装ubuntu14.04
- java面向对象的继承以及方法重写和重载
- 解决ajax无法给外部变量赋值
- 在不开启事件循环的线程中使用QTimer
- STL
- Spring Security 4.x 启用CSRF防御后logout只能是POST请求
- swift3.0基础知识脑图03
- spring中使用parent属性来减少配置
- 算法训练 最小乘积(基本型)
- 初级前端工程师面试题(网上收集的总结)
- mysql忘记root密码