Axios 有 CORS 问题

新手上路,请多包涵

我在 package.json 中添加了代理,效果很好,但是在 npm run build 之后,CORS 问题再次出现,有谁知道在 React 中 npm run build 之后如何处理 CORS 问题。

我尝试使用各种方法在 axios 请求中添加标头。但是,我未能在 axios 请求中添加 ‘Access-Control-Allow-Origin’:’*‘。我的代码如下:

包.json

  "proxy": {
      "*":{ "target" : "http://myurl"}
   }

获取数据.js

  axios.defaults.baseURL = 'http://myurl';
  axios.defaults.headers.post['Content-Type'] ='application/json;charset=utf-8';
  axios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';
  axios.get(serviceUrl, onSuccess, onFailure)
  .then(resp => {
        let result = resp.data;
        onSuccess(result);
  })
  .catch(error => {
        if(onFailure) {
            return onFailure(error);
        }
  })
 }

注意:它已从服务器端启用,它仍然无法正常工作。目前,我无法从服务器端更改代码,我的工作仅限于客户端。

原文由 Kiran 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 987
2 个回答

您的服务器应该启用跨源请求,而不是客户端。为此,您可以查看 这个不错的页面,其中包含多个平台的实现和配置

原文由 Murilo Cruz 发布,翻译遵循 CC BY-SA 4.0 许可协议

只是为可能通过谷歌搜索到达这里的人注意我的解决方案。我 axios withCredentials false

 axios({
    method: 'get',
    url: `https://api.someurl.com/subject/v2/resource/somevalue`,
    withCredentials: false,
    params: {
      access_token: SECRET_TOKEN,
    },
  });

在这种情况下,外部 api 端点的安全性基于 access_token

原文由 Chan Youn 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进