2014-07-18 103 views
0

如何使用.getJSON()函數將json對象保存爲javascript變量?jQuery存儲json對象從url變量在JavaScript變量

var js = 
$.getJSON(url, 
    function(data) {...} 
); 

我需要function(data) {...}回調嗎?

var這個看起來像普通的JSON格式

{"query":{"count":1,"created":"2014-07-18", ... 
+0

'function(data){...}'部分是getJSON的回調函數,'data'是您將得到的JSON響應。 –

+0

你的意思是你想接收''.getJSON'在JavaScript變量中返回的數據? – AdityaParab

回答

3

您將需要聲明變量,然後再指定爲這樣的成功,函數值(如Python中的字典?):

var js; 
$.getJSON(url, 
    function(data) { 
     js = data; 
     // or use your data here by calling yourFunction(data); 
    } 
); 

編輯:

如果你的代碼看起來像下面這樣,那麼它很可能將無法正常工作:

var js; 
$.getJSON(url, 
    function(data) { 
     js = data; 
     // or use your data here by calling yourFunction(data); 
    } 
); 
$("div").html(js); 

這是因爲$.getJSON()是一個異步函數。這意味着下面的代碼將繼續執行而無需等待$ .getJSON完成。相反,你將要使用的成功函數內部的變量,例如:

var js; 
$.getJSON(url, 
    function(data) { 
     // the code inside this function will be run, 
     // when the $.getJSON finishes retrieving the data 
     js = data; 
     $("div").html(js); 
    } 
); 
+0

$(「div」)。html(js);不打印到我的HTML div,但? – brno792

+0

編輯:我會更新答案,以澄清 –

+0

謝謝。儘管如此,這仍然沒有顯示任何東西。我想要在div中打印出json對象。在'$(「div」)。html(js)之前使用 – brno792

0

假設你想接收$.getJSON在JavaScript變量返回data

var js; 

$.getJSON(url, function(data) { 
    js = data; 
    // you can even pass data as parameter to your target function like myFunct(data); 
});