所请求的资源上没有'Access-Control-Allow-Origin'标头-尽管

时间:2019-12-30 17:23:35

标签: reactjs express cors

App.js

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Headers',
   'Origin, X-Requested-With, Content-Type, Accept, Authorization');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PATCH, DELETE, OPTIONS');
  next();
});
app.use('/api/articles', articlesRoutes);
app.use('/api/users', usersRoutes);

错误更正:

Access to fetch at 'http://localhost:5000/api/users' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我想念什么?浏览器无法识别我在本地服务器上设置的标头,但在已部署的应用程序上,它可以正常工作。

2 个答案:

答案 0 :(得分:0)

问题是由于跨域资源共享(CORS)

很高兴已经有一个专用的库:

  1. npm -i cors
  2. 添加app.use(cors())

答案 1 :(得分:0)

谢谢。我的本地服务器未运行。因此,这就是为什么它不起作用的原因。应该与我的app.use(cors())

解决方案一起工作