通过 POST 发送和接收 JSON 数据

Version >= 6

获取请求 promises 最初返回 Response 对象。这些将提供响应头信息,但它们不直接包含响应主体,甚至可能尚未加载。响应对象(如 .json())上的方法可用于等待响应主体加载,然后解析它。

const requestData = {
  method : 'getUsers'
};

const usersPromise = fetch('/api', {
  method : 'POST',
  body : JSON.stringify(requestData)
}).then(response => {
  if (!response.ok) {
    throw new Error("Got non-2XX response from API server.");
  }
  return response.json();
}).then(responseData => {
  return responseData.users;
});

usersPromise.then(users => {
  console.log("Known users: ", users);
}, error => {
  console.error("Failed to fetch users due to error: ", error);
});