从 fetch -> promise -> response 获取数据

Get the data from fetch -> promise -> response

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

我有以下代码:

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 开发人员控制台 - 网络时,我在那里看到了响应数据。

我做错了什么?

我一直在寻找一些如何获取、承诺...工作的资源,但找不到任何写得很好的资源。

您可以在获取响应时调用其他方法,例如 .json().blob()。这些方法 return 您可以调用 .then() 的承诺。

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, and some other documentation on how the response object works