2016-08-04 135 views
-1

console.log(result.data[0]);無法讀取的未定義的屬性 - 但屬性存在

回報:

{ name: 'page_stories', 
    period: 'day', 
    values: 
    [ { value: 114, end_time: '2016-07-31T07:00:00+0000' }, 
    { value: 68, end_time: '2016-08-01T07:00:00+0000' }, 
    { value: 134, end_time: '2016-08-02T07:00:00+0000' } ], 
    title: 'Daily Page Stories', 
    description: 'Daily: The number of stories created about your Page. (Total Count)', 
    id: '462582393917692/insights/page_stories/day' } 

但由於某種原因var name = result.data[0].name;正在返回:

TypeError: Cannot read property 'name' of undefined

我不能爲生命我找出原因。 'name'屬性顯然與result.data [0]對象一樣存在。任何幫助都會很棒。

編輯:發現數據格式對於每一個請求都是不統一的(只是大多數!)。感謝您的迴應。我應該明確指出,我也是通過此代碼提供批量請求。

+5

你需要提供一個完整的[MCVE] – Quentin

+0

解析結果還是隻有字符串? 'JSON.parse(result.data [0]);'? – Dave

+2

我敢打賭,你正試圖在異步函數完成之前訪問它。你是否在回調中設置值? – david

回答

-3

確保您確實在嘗試訪問對象而不是字符串。 JSON.parse(obj)如果需要。

+0

但是,如果result.data [0]未定義,他如何記錄它,請注意問題的第一行。 – Gabrielo

+0

我讀過。但是我們不知道它們之間會發生什麼,我們不知道代碼是同步執行還是異步執行。錯誤消息清楚地告訴你'result.data [0]'是未定義的。 – str