【问题标题】:Get the data from fetch -> promise -> response从 fetch -> promise -> response 获取数据
【发布时间】:2016-11-17 14:42:28
【问题描述】:

我正在尝试向服务器发布一些数据,但我不知道如何取回响应数据。

我有以下代码:

fetch(url, {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: login,
    password: password,
  })
}).then(function(a){
  console.log(a);
})

它打印一个Response 它包含诸如body (ReadableByteStream)、bodyUsed (false)、ok (true)、status (200)等数据... 但我找不到我找回的数据,无处可去。当我打开 chrome 开发者控制台 - 网络时,我会在那里看到响应数据。

我做错了什么?

我一直在寻找一些关于 fetch、promise 等如何工作的资源,但我找不到任何写得好的。

【问题讨论】:

标签: javascript ecmascript-6 es6-promise fetch-api


【解决方案1】:

您可以在获取响应上调用其他方法,例如 .json() 或 .blob()。这些方法返回一个你可以调用.then()的promise。

fetch(url, {
    method: 'POST',
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        email: login,
        password: password,
    })
})
    .then(function (a) {
        return a.json(); // call the json method on the response to get JSON
    })
    .then(function (json) {
        console.log(json)
    })

查看some documentation on using fetch,以及其他一些关于response object works 如何在提取调用中的文档。

【讨论】:

    猜你喜欢
    • 2019-03-18
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 2020-04-14
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多