我想在响应中获取一个值但是我得到了空值
此图片是网址的回复,但是当我尝试访问它时,我得到了未定义的
this.http.post(url, data, headers)
.map(res => res.json())
.subscribe(res => {
console.log(res);
console.log(res.devicePlaylist[0]);
console.log("play list :", res[1]);
}, (err) => {
console.log("failed", err);
});
我得到res作为对象,但我没有访问devicePlaylist,有人可以帮助我
答案 0 :(得分:1)
由于您已在res
方法中将console.log(res)
对象打印为subscribe
,请检查浏览器控制台并注意Object
写在那里。这意味着值res
是一个对象,它包含key : value
对。因此,当您尝试访问console.log(res.devicePlaylist[0]);
时,您将无法在控制台中找到打印,因为res
没有名为devicePlaylist
的密钥。因此,devicePlaylist
位于Response
的密钥res
内。所以,你需要以
res.Response.devicePlaylist[0]
并且,由于devicePlaylist
是一个数组(在浏览器控制台中也显示为数组),因此您可以使用索引值0,直到数组devicePlaylist
包含至少一个元素。否则,如果数组为空,您将获得undefined
。
答案 1 :(得分:0)
您的控制台中的外部对象似乎是响应;您可以尝试登录res.Response.devicePlaylist[0]