我正在創建一個程序,它使用AJAX/JSON從服務器獲取數據,然後使用該數據繪製到畫布上(html5)。我有一個函數調用的時候,做一些初始化,然後調用這個函數:如何在繼續執行之前等待ajax獲取數據,使用JSON?
function getClimateData(climateElement) {
$.ajax(
{
type: "GET",
contentType: "application/json; charset=utf-8",
url: "/Climate/yearInformation" + climateElement,
data: "{}",
dataType: "json",
success: function (data) {
weatherData = data;
},
error: function (xhr, err) {
// Note: just for debugging purposes!
alert("readyState: " + xhr.readyState +
"\nstatus: " + xhr.status);
alert("responseText: " + xhr.responseText);
}
}
)
};
的問題是,所有的數據已經到達之前,調用函數繼續和借鑑了我的畫布一些東西的基礎上,數據(這不在那裏)。這種情況有時會發生。
如何在執行繼續之前確保數據已到達?
是的,我想到了,但不幸的是這意味着很多重建,因爲我沒有想到這一點。但我想這是我唯一的選擇,如果沒有人有一個神奇的解決方案:) – Asgeir 2011-05-04 18:33:43
從頭開始,我做了改變,並沒有那麼大的交易,現在像一個魅力,感謝很多:) – Asgeir 2011-05-04 18:42:31