【问题标题】:Proxy error with React/Express but only intermittentlyReact/Express 的代理错误,但只是间歇性的
【发布时间】:2019-04-19 17:53:44
【问题描述】:

我有一个 Express API,我从 React 前端向它发送请求。

router.get("/", (req, res, next) => {
  res.set({ "Access-Control-Allow-Origin": "*" });
  Todo.find({}).then(todos => res.json({ todos }));
});

我在客户端的 package.json 中有一个代理调用:

"proxy": "http://localhost:8080",

我从前端操作向 API 发送请求

export const getTodos = () => {
  return function(dispatch) {
    axios
      .get("/api/crudify")
      .then(res =>
        dispatch({
          type: GET_TODOS,
          payload: res.data.todos
        })
      )
      .catch(err => console.log(err));
  };
};

一切似乎都正常,但随机我的控制台会给我一个代理错误,这会导致服务器以 500 响应

如果我保存并刷新错误就会消失,然后会在短时间内出现。有人对此有任何见解吗?

【问题讨论】:

  • 如果您的 Express 服务器位于代理后面,则不需要 Access-Control-Allow-Origin 标头。您不希望 Express 路由为 router.get("/crudify", ... ); 吗?
  • 我在app端设置路由位置(在express路由器外面)'app.use("/api/crudify", todos);',我会尝试去掉Access-Control- Allow-Origin 标头,谢谢
  • 只是一个更新,删除标题并没有解决问题。

标签: reactjs api express proxy redux-thunk


【解决方案1】:

我遇到的问题是 nodemon 正在刷新节点服务器,并且它与前端 React 应用程序发生冲突,因此在我的 package.json 中添加 --ignore frontend/ 似乎已经解决了它。

"server": "nodemon server --ignore frontend"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-13
    • 2019-05-07
    • 2015-08-02
    • 2012-05-15
    • 2016-05-20
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多