这似乎是一个非常简单的问题,但是我不知道为什么我变得不确定。我正在使用jQuery从PHP脚本(特别是PHP文件回显的字符串)中获取数据。这是代码:
<script type="text/javascript">
var map1;
$.get("script.php", function(data)
{
map1 = data;
});
alert(map1);
</script>
现在,如果我发出alert(map1),它最终将被不确定...为什么会这样呢?我认为通过在$ .get之外声明map1,可以解决问题,但事实并非如此。如果我在$ .get函数中发出alert(map1),它最终会结束,并且该变量包含一个字符串(而不是未定义的字符串)。所以问题是... map1怎么了?以及如何阻止它变得不确定/超出范围/发生了什么事?
提前致谢。
最佳答案
正如@Michael所说,.get
调用是异步的,因此您的javascript正在执行此调用,然后继续执行脚本,这就是为什么出现undefined
警报框的原因。
最好的选择是进行success
调用:
$.get("script.php", function(data)
{
map1 = data;
})
.success(function() { alert(map1); });