2011-02-15 40 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調用是異步