2011-02-15 52 views
0

我有这个奇怪的问题。在我的代码中,我有一个名为val1的变量,它在jQuery调用后获取值,但在退出jQuery函数后,它失去了它的价值。Javascript - 对象在函数退出时丢失了它的值

下面的代码:

var val1; 
$.getJSON('some address', null, function (result) { 
    val1 = result.names[0].name; 
    alert(val1); //first alert 
}); 
alert(val1); // second alert 

在第一次警告,我得到所需要的价值,但在第二次警报 - 我得到undefined

为什么?

+0

[JQuery返回值](http://stackoverflow.com/questions/2438685/jquery-return-value)和[百万其他人](http://stackoverflow.com/search?q=jquery + AJAX +回报+值)。 – meagar 2011-02-15 13:15:38

+0

@meagar:这是一个愚蠢的http://stackoverflow.com/questions/2438685/jquery-return-value? – balpha 2011-02-15 13:18:19

回答

6

第二个alert在设置值之前执行。反之亦然:回调在第二个alert之后执行。

Ajax调用是异步