首页 > 解决方案 > React Isomorphic Fetch 并未实际发布

问题描述

我正在使用 React 创建一个网站,其中一个步骤涉及创建一个事件。我创建了一个使用同构获取发布到 API 的步骤。

import fetch from "isomorphic-fetch";

export function createEvent(data) {
    console.log(data);
    return fetch("whatson/createEvent.php", {
        method: "POST",
        body: JSON.stringify(data),
        headers: {
            "Content-Type": "application/json"
        },
        redirect: "follow"
    }).then(response => {
        if (response.status >= 200 && response.status < 300) {
            alert("Success");
            console.log(response);
            return response;
        } else {
            console.log("Something went wrong");
            console.log(response);
        }
    });
}

我已经逐步完成了响应,它说它是 A-OK、200 响应状态等,但是实际上没有任何东西添加到数据库中。

如果我使用发布的相同数据并在邮递员中调用相同的 API 地址,它工作正常,并且数据被添加到数据库中,所以我相当有信心这不是 API 本身,而是与上面的代码有关。

标签: javascriptreactjsisomorphic-fetch-api

解决方案


可能,您需要return response.json()

import fetch from "isomorphic-fetch";

export function createEvent(data) {
  console.log(data);
  return fetch("whatson/createEvent.php", {
    method: "POST",
    body: JSON.stringify(data),
    headers: {
      "Content-Type": "application/json"
    },
    redirect: "follow"
  }).then(response => {
    if (response.status >= 200 && response.status < 300) {
      alert("Success");
      return response.json();
    } else {
      console.log("Something went wrong");
      console.log(response);
    }
  }).then(json => console.log(json));
}

推荐阅读