獲取數據我正在寫一個web應用程序,需要初始化我通過$ .getJSON()方法拉一些參數。
$.getJSON("../config/", function(data)
{
console.debug(data);
}
現在,因爲這些值將在全球整個腳本中使用,不會直接觸發事件(這是$ .getJSON(中)唯一實現我的文檔中找到),我怎麼能回國或檢索此回調數據?
獲取數據我正在寫一個web應用程序,需要初始化我通過$ .getJSON()方法拉一些參數。
$.getJSON("../config/", function(data)
{
console.debug(data);
}
現在,因爲這些值將在全球整個腳本中使用,不會直接觸發事件(這是$ .getJSON(中)唯一實現我的文檔中找到),我怎麼能回國或檢索此回調數據?
最好的辦法是堅持回調技術。
有2個真正的辦法,使其工作,兩者基本相同。
$.getJSON("../config/", function(data) {
SomeObject.config = data;
SomeObject.load(); # assuming load tells some-object that it now has data and to get cracking
});
或
$.getJSON("../config/", function(data) {
SomeObject.load(data); # SomeObject sets itself up and starts doing its thing
});
試圖以同步的方式來使用$ .getJSON(即:具有它返回一個值)會使用眼淚和痛苦都爲你和人們才結束您的網站,因爲同步連接有阻止整個用戶界面的趨勢。 :)
因爲它的立場,做這樣的事異步
var i = null; #1
$.getJSON("../config/", function(data) { #2
i = data; #3
}); #4
some_function_with(i); #5
就不行,因爲5號線幾乎是保證行之前執行3.
你剛剛幫了我一筆不小的交易。有一個upvote! – Daishiman 2009-11-23 10:37:12
肯特張新軍:我不知道如果你的方法可能會更好,所以如果你的方法是更好地讓我知道如何,我會在我自己接受你的解決方案,但我這是怎麼做的:
var my_data = null;
$.ajax(
{
url: "../config/",
dataType: "json",
async: false,
success: function(data)
{
my_data = data;
}
});
也謝謝豐富ieHindle,我不知道可以在不返回的情況下替換函數外部的變量。
我沒有在這裏得到你的問題,$ .getJSON第二個參數是一個回調函數,這就是所謂一旦請求已完成併成功。 – 2009-07-12 01:52:19
你想用getJSON中的數據做什麼? – txwikinger 2009-07-12 02:50:35