jquery預設非同步執行導致修改全域變數無效的問題

在呼叫一個jquery的ajax方法時,我們有時會需要該方法傳回一個值或給某個全域變數賦值,可是我們發現程式執行完後並沒有取得到我們想要的值,例如:

var i=0;//定义一个全局全量
$.get(url,function(data){
    i=9;
})//然后调用jquery的一个函数
alert(i);//得到的是0而不是9

data中的資料是非同步取得的,在全域環境下的程式碼是在頁面載入時就執行了,這時非同步取得資料還沒完成,取不到值。

解決方法:

訂閱@標題