获取 API 返回 "undefined"
Fetch API returning "undefined"
我目前正在学习如何使用 APIs,我在从 API 中获取数据时遇到了一些麻烦。下面的代码成功获得了响应,但实际上并未从服务器获得任何数据。我该如何解决这个问题?
const onClick = () => {
fetch(
`https://collectionapi.metmuseum.org/public/collection/v1/objects/45734`
)
.then(res => {
if (res.ok) {
console.log(res)
console.log('SUCESSS')
} else {
console.log("Not Successful")
}
})
.then(data => {
if (data) {
console.log(data)
} else {
console.log("undefined data")
}
})
.catch(error => console.log('ERROR'))
console.log(results);
}
可以将 promise .then
方法链接起来,每个链接的 then
方法将接收前一个 returned 值。在你的例子中,第一个没有 return 任何值,使第二个没有收到任何值,也被称为未定义。
由于url您的代码正在调用returnjson内容,您应该return在登录成功后得到res.json()
的结果。
这将读取响应主体的流并将其解析为 json,使用承诺。
我目前正在学习如何使用 APIs,我在从 API 中获取数据时遇到了一些麻烦。下面的代码成功获得了响应,但实际上并未从服务器获得任何数据。我该如何解决这个问题?
const onClick = () => {
fetch(
`https://collectionapi.metmuseum.org/public/collection/v1/objects/45734`
)
.then(res => {
if (res.ok) {
console.log(res)
console.log('SUCESSS')
} else {
console.log("Not Successful")
}
})
.then(data => {
if (data) {
console.log(data)
} else {
console.log("undefined data")
}
})
.catch(error => console.log('ERROR'))
console.log(results);
}
可以将 promise .then
方法链接起来,每个链接的 then
方法将接收前一个 returned 值。在你的例子中,第一个没有 return 任何值,使第二个没有收到任何值,也被称为未定义。
由于url您的代码正在调用returnjson内容,您应该return在登录成功后得到res.json()
的结果。
这将读取响应主体的流并将其解析为 json,使用承诺。