我正在尝试从json读取所有值,但是我收到此错误:
TypeError: Cannot read property 'forEach' of undefined
我做错了什么?
fetch(url, {
method: 'POST',
headers: {
"user-key": 'mykey'
},
body:
'fields id, name, cover.url; where id = 1942;'
})
.then(response => response.json())
.then((data) => {
data.array.forEach(element => {
console.log(element)
});
})
.catch((error) => console.log(error))
答案 0 :(得分:2)
如何解决“无法读取未定义的属性'forEach'”错误
您找到了调用forEach
的位置(由于错误消息包含文件名和行号,很容易找到,因此应该很容易找到它),然后确保无论您身在何处在实际上作为forEach
属性的对象上调用forEach
;大概是Array
。
答案 1 :(得分:1)
json响应的组织方式可能与您想象的不同。如果发布成功,则很可能返回您在发布请求中发送的对象。这意味着您不能直接在其上使用forEach函数,而只能在其键或值上使用它。
答案 2 :(得分:0)
错误说明了一切。您正在尝试对未定义的值使用ForEach。 您没有按照要求从后端接收数据。 数据必须具有特定的数据结构,才能在其上使用.forEach。
检查所接收的是否为数组。
例如:-
console.log(typeof data.array);