【问题标题】:No 'Access-Control-Allow-Origin in reactJSreactJS中没有'Access-Control-Allow-Origin
【发布时间】:2019-01-05 17:36:30
【问题描述】:

我想知道如何在 reactJS 或 react-native 环境的 axios post 方法中设置 Access-Control-Allow-Origin? 我使用 CORS 附加组件,它可以工作,但我也想在标题中设置它,我尝试了这些方法,但没有一个不起作用。

axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';

let axiosConfig = {
  headers: {
    'method':'POST',
    'X-Requested-With': 'XMLHttpRequest',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Access-Control-Allow-Origin': '*',
  }
};

【问题讨论】:

  • 你没有。该标头由服务器发送。查找 CORS 以及如何设置它取决于后端是什么。
  • 你应该在你的后端代码中设置它而不是从 ui
  • 你用什么做后端?
  • 是的,我在 UI 中使用它,后端用 PHP 编写。但是,如果它没有设置在后端呢?那我该怎么办?
  • 我得到了答案,显然,除非我们构建服务器,否则我们无法从 UI 访问 CORS,对吗?

标签: reactjs react-native axios


【解决方案1】:

您需要在服务器端启用跨源请求。关于如何使用 Express 进行操作的 sn-p 如下

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

这将使所有请求都支持 CORS。根据您的要求进行调整。

如果您无法更改服务器,请查看this 链接了解更多信息。

【讨论】:

    猜你喜欢
    • 2015-08-29
    • 2017-06-15
    • 2018-12-12
    • 2016-01-21
    • 2018-02-02
    • 1970-01-01
    • 2017-09-19
    • 2017-12-06
    • 2015-04-02
    相关资源
    最近更新 更多