簡體   English   中英

無法訪問JSON數據

[英]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

請參閱: 嘗試使用JQuery加載本地JSON文件以在html頁面中顯示數據

代碼很好。 您的問題出在請求中。 檢查網址

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM