2011-04-06 39 views
0
​​

編輯:名稱= ''

編輯:現在的問題是主題標題。我的代碼不起作用。在通話後,名字仍然是空的。那就是問題所在。

編輯:$ .getJSON是有錯,$ .parseJSON代替

+1

是什麼問題? – 2011-04-06 14:35:25

+0

我的代碼不起作用,當alert(name)在測試函數之外時,名字仍然是空的。我認爲Swaff有一個很好的解決方案。爲什麼要低估他? – Emerald214 2011-04-06 15:13:08

+0

他的解決方案因爲可能有效而被低估了,但這是非常糟糕的做法,絕對不是最好的方法,並且可能會導致其他問題。 – 2011-04-06 15:19:32

回答

2

聲明VAR學生爲它是訪問其他地方,而不是功能的document.ready

,或者直到你需要的功能測試(你不能弄亂全局變量){}裏面,你可以只是刪除var前綴,這將使其全球(即刪除var名稱= 0;)

編輯:: 另外應該指出,AJAX是異步的,所以你在做什麼不會工作。添加到回撥做你想要的,而不是在它之後(因爲學生將仍然是0),或停止呼叫是異步的

0

如果這一切都在$(document).ready功能,您將有機會獲得它,因爲它是局部的範圍。

提供某種上下文的方式,並在詢問之前實際測試您的代碼。在全球範圍內

1

如果你想變量是全球性的,即使在$(document).ready之外,那麼你可以在此之外進行初始化 - 可能只是在$(document).ready函數之前。

我認爲你可能遇到的問題是你在代碼中稍後檢查name變量,但在name被填充之前。所有依賴於name的代碼應在ajax調用檢索數據後運行。因此無論是在$.post()回調函數中,還是在超時或事件後檢查變量name是否已被填充。

相關問題