为什么 JSON 从服务器发送到浏览器的数据未定义?
Why is JSON data sent from server to browser undefined?
我想用 fetch() 向我的服务器发出请求,并返回数据以在前端应用程序中使用。
这是我的路线:
app.get('/game-data', (req, res) => {
res.json({ data: "test-data" })
})
这是我的要求:
button.addEventListener('click', () => {
fetch('/game-data', {
headers: {
'accept': 'application / json',
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(response)
response.json()
})
.then(myJson => {
console.log(myJson)
})
})
我可以在第一个控制台日志中看到响应对象,但是 response.json() 或 response.text() 返回未定义。
请帮我看看我错过了什么!
您需要 return 该值才能在另一个 .then
中使用它
.then(response => {
console.log(response)
return response.json()
})
我想用 fetch() 向我的服务器发出请求,并返回数据以在前端应用程序中使用。
这是我的路线:
app.get('/game-data', (req, res) => {
res.json({ data: "test-data" })
})
这是我的要求:
button.addEventListener('click', () => {
fetch('/game-data', {
headers: {
'accept': 'application / json',
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(response)
response.json()
})
.then(myJson => {
console.log(myJson)
})
})
我可以在第一个控制台日志中看到响应对象,但是 response.json() 或 response.text() 返回未定义。
请帮我看看我错过了什么!
您需要 return 该值才能在另一个 .then
中使用它.then(response => {
console.log(response)
return response.json()
})