ajax异步回调函数中给外部变量赋值的问题探讨
程序员文章站
2023-01-28 16:08:42
复制代码 代码如下:
<!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"的函数放入回调函数中调用。
复制代码 代码如下:
<!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"的函数放入回调函数中调用。