在执行CORS请求时,我遇到了Axios帖子的奇怪问题。
当我使用以下代码进行通话时
export function loginUser (props) {
var request = axios.post(Endpoints.LOGIN_URL,
{
'username': props.username,
'password': props.password
});
return dispatch => {
dispatch(login())
return request.then(
function (response) {
console.log('success ', response)
dispatch(loginSuccessful(response.data))
history.go('/home');
})
.catch(function (response) {
console.log('error', response)
dispatch(loginFailed(response.data))
})
}
}
当我执行此操作时,我在Dev Tools中看到了响应200状态代码。飞行前选项请求和后续响应按预期工作。如何执行的代码块是catch块!!
在控制台中我收到以下错误:
阻止跨源请求:同源策略禁止在Full code [Hastebin]读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。
在Dev工具中我得到: http://localhost:8080/auth/login
即使飞行前响应的标题为“Access-Control-Allow-Origin”,也不确定为什么控制台中出现CORS错误!!
感谢任何帮助。
答案 0 :(得分:2)
Access-Control-Allow-Origin
标题也必须出现在http://localhost:8080/auth/login POST 操作的响应中。
答案 1 :(得分:0)
您的Access-Control-Allow-Origin正在指定端口3000并且您正在端口8080上进行连接。请尝试完全删除端口,以使您的allow origin标头为http://localhost,或者甚至将其设置为*以进行测试。