ajax异步回调函数中给外部变量赋值的问题探讨

566 查看

复制代码 代码如下:

<!doctype html>
<head>
<meta charset="utf-8">
</head>
<body>
<script src="http://localhost/UIBMSPHPProj/public/js/jquery-1.8.2.min.js"></script>
<script>
$(function(){
var str = "aaa";
$.post("http://localhost/UIBMSPHPProj/index.php/Index/abc",{},function(data){
//data = "bbb";
console.log(str);//aaa
str = data;
console.log(str);//"bbb"
});
console.log(str);//"aaa"
});
</script>
</body>
</html>

ajax回调函数异步的原因导致了在外部直接获取str的值时还是“aaa”,需要用“bbb”时,可以将用"bbb"的函数放入回调函数中调用。