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



我正在尝试将数据从 heroku 应用程序获取到 Redux 中,但我认为我遇到了 CORS 问题。我已经玩"标题"一段时间了,但仍然无法弄清楚。

这是确切的错误: "无法加载 https://name-app.herokuapp.com/users:对预检请求的响应未通过访问控制检查:请求的资源上不存在'访问控制-允许源'标头。因此,不允许访问源"http://localhost:3000"。如果不透明的响应满足您的需求,请将请求的模式设置为"no-cors",以便在禁用 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));
}
)};
};

如果您不必执行任何身份验证也不需要传递任何数据,则可以执行no-cors请求(更多信息请参阅mdn页面(。

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

如果您确实需要 cookie 或某种身份验证,则需要使服务器接受您的域并在预检响应中请求方法。

如果您无权在服务器上更改它,您可以创建一个 nodejs 服务器来为您处理调用,绕过任何 cors 检查(只有浏览器关心 cors,服务器不关心(。

最新更新