javascript - 如何从响应中获取实际数据?我得到未定义的

标签 javascript http fetch

我正在尝试从 yelp api 获取数据,

我有一个如下所示的获取函数:

export function fetchRestaurants (term) {
    const endpoint = `businesses/search?term=${term}&location=NYC`

    return fetch(endpoint, {
      headers: new Headers({
        'Authorization': 'Bearer '+'oSJvaTmFtYVCEJcMsLFA4uRljDOILtEfp0sTWflSWclozapMP1rCZ6uttKPOoYnrdUGcTXI0ztOf3rTPVSBRa1JjngqcoTKD30YUp7yKxhZCNzS4bsZV_DqzzkAwXXYx',
      }), 
    })
      .then((res) => {
        console.log(res)
        res.json()
      })
      .then((data) => {
        console.log(data)
        // this is undefined!
        return data
      })
  }

第一个 then 的响应为 200,如下所示:

Response {type: "basic", url: "http://localhost:3000/businesses/search?term=pizza&location=NYC", redirected: false, status: 200, ok: true, …}
type: "basic"
url: "http://localhost:3000/businesses/search?term=pizza&location=NYC"
redirected: false
status: 200
ok: true
statusText: "OK"
headers: Headers {}
body: (...)
bodyUsed: true

但后来我尝试在第二个 then 上对其执行 .json ,当我尝试记录它时,它是未定义的。

关于如何获取实际数据有什么想法吗? 谢谢

最佳答案

第一个.then回调函数需要返回res.json() 像这样:

.then((res) => {
    console.log(res)
    return res.json()
  })

关于javascript - 如何从响应中获取实际数据?我得到未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60097966/

相关文章:

javascript - 使用 JQuery 选择内容

javascript - ReactJS 状态在事件之间丢失

javascript - 切换 JavaScript 代码在 IE11 中不起作用

javascript - 忽略正则表达式匹配中的第一个字符

javascript - 检测浏览器何时收到文件下载

PHP - MySQL "next"- "previous"链接与订购

TypeScript:输入具有不同返回类型的 httprequest

http - AngularJS - 在 http 请求后刷新 View ,$rootScope.apply 返回 $digest 已经在进行中

ios - 在 react native 应用程序中使用提取时出错

javascript - React Native fetch() 返回奇怪的 json 响应项