This question already has answers here:
Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference
(6个答案)
3年前关闭。
我有如下所示的代码。
当第一个警报显示数据值时,第二个警报则没有。似乎globalVar没有在get函数中正确分配。在这里使用全局变量的正确方法是什么?
(6个答案)
3年前关闭。
我有如下所示的代码。
var globalVar = ''
$.get("some.php", function(data, status)
{
alert(data)
globalVar = data
});
alert(globalVar)
当第一个警报显示数据值时,第二个警报则没有。似乎globalVar没有在get函数中正确分配。在这里使用全局变量的正确方法是什么?
最佳答案
可能发生的情况是,您的get()
函数在调用最后一个alert()
之前没有完成。为了确保这些顺序发生,一旦收到文件,您可以将最后一个alert()
放在回调中。
因此,请尝试以下操作:
var globalVar = ''
$.get("some.php", function(data, status)
{
alert(data)
globalVar = data
}).done(function() {
alert(globalVar)
});
10-08 18:52