无法从heroku应用程序上传数据。 CORS错误

时间:2018-06-13 16:10:13

标签: reactjs redux cors fetch request-headers

我试图将我的数据从heroku应用程序提取到Redux,但我认为我遇到了CORS问题。我一直在玩"标题"有一段时间,仍然无法弄清楚。

这是确切的错误: "无法加载https://name-app.herokuapp.com/users:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。如果不透明的回复符合您的需求,请将请求的模式设置为“无人”状态。在禁用CORS的情况下获取资源。"

这是我的代码:

 export function fetchMicros() {
  return dispatch => {
    const url = "https://name-app.herokuapp.com/users";
      return fetch(url, {
       method: 'GET',
       mode: 'cors',
       headers: { 'Content-Type': 'text' },
     })
     .then(handleErrors)
     .then(res => res.json())
     .then(micros => {
        dispatch(fetchVitamins(micros));
     }
   )};
};

1 个答案:

答案 0 :(得分:0)

如果您不需要进行任何身份验证,也不需要传递任何数据,则可以执行no-cors请求(有关mdn page的更多信息)。

fetch(url, {
   mode: 'no-cors',
 })

如果您执行需要Cookie或某种身份验证,那么您需要让服务器接受您的域并请求预检响应方法。

如果您无权更改服务器上的内容,您可以创建一个nodejs服务器来处理您的呼叫,绕过任何cors检查(只有浏览器关心cors,服务器不关心)