我有一个表单
render() {
return (
<form onSubmit={this.handleSubmit}>
...
</form>
);
}
提交后,我提出发布请求并打印回复
handleSubmit(event) {
axios.post('https://.../oauth2/token', {
firstName: this.state.username,
password: this.state.password,
grant_type: password
})
.then(response => console.log(response))
event.preventDefault();
}
打印的响应是
无法加载 https://.../oauth2/token:响应 到预检请求未通过访问控制检查:否 "访问控制允许源"标头存在于请求的上 资源。因此不允许使用原产地"http://localhost:3000" 访问。响应具有 HTTP 状态代码 400。
我知道这应该防止 cookie 滥用。但是我可以在前端做些什么来获得响应吗?也许我可以在请求中声明我不想使用任何 cookie 权利。
的资源上不存在"访问控制允许源"标头
就在那里告诉我出了什么问题。您在使用 CORS(跨源资源共享(时遇到了问题。如果您使用的是 Chrome,则可以为其使用扩展程序。
对于永久解决方案,必须在主机服务器上启用 CORS。我不能提供太多帮助,因为我不知道你的后端是什么样子的。您可以尝试搜索" CORS"。就个人而言,为了简单起见,我只是在开发时使用扩展,但我只在 AngularJS 移动应用程序上工作。