2016-08-04 161 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

相关问题