2015-05-13 51 views
0
<script> 
     $.get("url", function(data, textStatus, jqXHR) { 
     var json = JSON.stringify(data); 
     }); 
// I would like to use **json** variable here 
</script> 

嘿, JSON數據jQuery的,我想從網址得到數據。我可以獲取JSON文件並將其字符串化爲json變量。但當我嘗試使用變量時,我有一些掙扎。因爲它是局部變量。 此外,掌握不用彷徨

<script> 
    var json = ""; 
    $.get("url", function(data, textStatus, jqXHR) { 
    json = JSON.stringify(data); 
    }); 
// I would like to use **json** variable here 
</script> 

當我試圖用JSON作爲一個全局變量,甚至我不能字符串化數據它。

問題:我該如何解決我的問題?

+0

http://blog.slaks.net/2015-01-04/async-method-patterns/ – SLaks

+0

很多人弄不清楚什麼是JSON ...這是一個字符串數據傳輸器格式。你不用JavaScript中的json工作......你一旦轉換了它所代表的對象和數組。因此,在大多數請求中,您不會將數據串聯起來,而是完全相反 – charlietfl

+0

您是否將數據作爲JSON格式獲取? – Srini

回答

2

這將是更好地使用你的JSON數據時,可通過將相關的代碼在回調或承諾吧:

$.getJSON("url").then(function(data) { 
    // json is already parsed here 
    // put json dependent code here 
}); 

你也可以把你的應用程序邏輯在一個函數(假設它是根據JSON數據),並以此作爲你的回調:

function initialize(data) { 
    // all of your data dependent logic here 
} 

$.getJSON("url").then(initialize); 
+0

感謝您的建議。但問題是,我一直在努力從getJSON中使用「數據」(JSON數據)。我可以從「url」中獲取「數據」,但我無法使用.get或.getJSON –

+0

我明白,我的建議是,這種方法不能很好地工作。你應該改變程序的結構,把依賴json數據的代碼放入回調函數中。我會用另一個例子更新我的答案 –