[英]Trouble accessing JSON data
我在通過AJAX調用訪問JSON數據時遇到一些麻煩。
JSON格式
{
"Ongoing": [
{"name": "meh"},
{"name": "hem"}
],
"Completed": [
{"name": "kfg"},
{"name": "dkfgd"}
]
}
JS
$.ajax({
type: "GET",
dataType: "json",
url: "script/projects.json",
complete: function(data){
for(var i = 0; i < data.Ongoing.length; i++){
console.log(data.Ongoing[i].name);
}
}
})
當我寫到控制台時,出現以下錯誤:
TypeError: Cannot read property 'length' of undefined
因此,出於某種原因,它使該數組未定義的問題消除了。
我已經將JSON傳遞給了驗證器,所以我知道它是有效的JSON。 我知道jQuery的$.ajax
自動解析JSON。 所以我很困惑,我應該能夠像普通對象一樣訪問數據。 誰能向我解釋我做錯了什么並提供解決方法的解釋?
下圖顯示了簡單地將data
寫入控制台顯示的內容。
您的Ongoing
是一個數組,因此您必須首先訪問一個元素:
console.log(data.Ongoing[0].name);
您的Ongoing
屬性包含一個數組
"Ongoing": [ {"name": "meh"}, {"name": "hem"} ]
要訪問一個,您可以循環執行
$.each(data.Ongoing, function(index, value) {
console.log(value.name);
});
您必須通過網絡服務器加載file://
,使用file://
加載file://
但是可以使用--allow-file-access-from-files
標志在Chrome中覆蓋此--allow-file-access-from-files
代碼很好。 您的問題出在請求中。 檢查網址
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.