请求被 CORS 阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态
Posted
技术标签:
【中文标题】请求被 CORS 阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态【英文标题】:request as been blocked by CORS:Response to preflight request doesn't pass access control check: It does not have HTTP ok status 【发布时间】:2019-08-09 02:57:56 【问题描述】:我正在做这个请求:
saveNewPermissions=(newGroupPermissions,curentGroupId)=>
window.alert(this.baseUrl+"/addPermission/group/"+curentGroupId)
return fetch(this.baseUrl+"/addPermission/group/"+curentGroupId,
method: 'PUT',
headers:
'Accept': 'application/json',
'Content-Type': 'application/json',
,
body: JSON.stringify(
permissions: newGroupPermissions
)
)
但是执行该方法时出现以下错误: CORS 策略已阻止从源“http://localhost:3000”获取“http://localhost:8083/uaa/addPermission/group/2”的访问权限:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态。 我已经有 CORS Chrome 插件,我可以执行其他类型的请求,例如帖子和获取,并且接收请求的方法具有 @CrossOrigin(allowCredentials = "true")。该方法在 java 中使用 springboot。
【问题讨论】:
你的服务器api必须启用CORS,它与你的客户端或浏览器无关 【参考方案1】:我使用带有默认参数的 @CrossOrigin 只是 get 和 post,这就是为什么 put 不起作用,你需要 put:
@CrossOrigin(allowCredentials = "true",methods = RequestMethod.GET, RequestMethod.POST, RequestMethod.PUT)
【讨论】:
以上是关于请求被 CORS 阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态的主要内容,如果未能解决你的问题,请参考以下文章
被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP OK 状态
Laravel 7 CORS:被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”
被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头
来源已被 CORS 策略阻止 对预检请求的响应未通过访问控制检查