ajax异步回调函数中给外部变量赋值的问题探讨
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
复制代码 代码如下:
<!doctype html>
<head>
<meta charset="utf-8">
</head>
<body>
<script src="/UploadFiles/2021-04-02/jquery-1.8.2.min.js"><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="/UploadFiles/2021-04-02/jquery-1.8.2.min.js"><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"的函数放入回调函数中调用。
下一篇:Ajax获得站点文件内容实例