【发布时间】:2020-03-25 02:24:15
【问题描述】:
我正在尝试使用自定义标头访问登录 API。首先我得到了 CORS 错误:
从源“http://localhost:3000”访问“URL”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应不 通过访问控制检查:没有“Access-Control-Allow-Origin”标头 出现在请求的资源上
然后我通过 NO CORS 插件禁用了 CORS。现在我得到:
从源“http://localhost:3000”访问“URL”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应不 通过访问控制检查:它没有 HTTP ok 状态。
下面是我的代码:
const userDetails = { email, password };
let data = JSON.stringify({
request : {
ascUser :
{
userName : "xxx@sample.com",
password : "12345678"
}
}
})
return dispatch => {
axios.request('URL', {data:data},
{headers: {
'Content-Type': 'application/json',
'x-transId' : '****',
'x-channel-id' : '***'
}}
)
.then(res => res.json())
.then(res => {
console.log(res)
if(res.error) {
throw(res.error);
}
dispatch(
userLogin({
...userDetails
})
);
return res.products;
})
.catch(error => {
console.log(error)
}
)
};
}```
【问题讨论】:
-
在您的后端应用程序上启用 CORS。如果您使用的是 express,请参考此expressjs.com/en/resources/middleware/cors.html
-
什么是 NO CORS 插件?是客户端还是服务器端?
-
有没有其他方法可以在不禁用后端 CORS 的情况下做到这一点?因为它在 Android 和 POSTMAN 中运行良好。
-
Chrome 没有 CORS 扩展
-
@SaranKumar 是后端快递应用吗?
标签: reactjs redux cors xmlhttprequest axios