【发布时间】: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