Axios POST使用CORS请求执行错误块,浏览器开发工具显示200

时间:2017-12-26 21:47:56

标签: reactjs cors axios

在执行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 enter image description here

即使飞行前响应的标题为“Access-Control-Allow-Origin”,也不确定为什么控制台中出现CORS错误!!

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

Access-Control-Allow-Origin标题也必须出现在http://localhost:8080/auth/login POST 操作的响应中。

答案 1 :(得分:0)

您的Access-Control-Allow-Origin正在指定端口3000并且您正在端口8080上进行连接。请尝试完全删除端口,以使您的allow origin标头为http://localhost,或者甚至将其设置为*以进行测试。