未定義這似乎是一個令人難以置信的簡單問題,但我不知道爲什麼我得到未定義。我使用jQuery從PHP腳本獲取數據 - 特別是PHP文件迴應的字符串。下面的代碼:
<script type="text/javascript">
var map1;
$.get("script.php", function(data)
{
map1 = data;
});
alert(map1);
</script>
現在,如果我警報(MAP1),它最終被不確定......究竟爲什麼是這樣?我想通過在$ .get之外聲明map1來解決問題,但事實並非如此。如果我在$ .get函數內部警告(map1),它會很好地結束,變量保存一個字符串(而不是未定義)。所以問題是... map1發生了什麼?我怎樣才能阻止它被定義/超出範圍/發生了什麼?
在此先感謝。
Ajax是異步的。傳遞給'get'的函數在ajax響應返回時調用,而不是立即調用。 – ggreiner 2012-02-10 09:29:15
我現在看到了...該死的,我應該看到了,這很明顯,它是異步的。我還修復了這個錯誤(我一直在強調這個錯誤超過了一個星期)。感謝你和其他人指出了這一點。 – Chrispy 2012-02-10 09:58:26