得到 200 响应,还有 CORS 错误?

Posted

技术标签:

【中文标题】得到 200 响应,还有 CORS 错误?【英文标题】:Getting 200 response, but also CORS error? 【发布时间】:2018-03-29 14:44:27 【问题描述】:

我正在向此页面上的第三个选项发出请求:http://www.groupkt.com/post/5c85b92f/restful-webservice-to-get-and-search-states-and-territories-of-a-country.htm

我得到了我想要的响应,但我也收到了一个 CORS 错误,这对我来说毫无意义......他们说他们启用了 CORS

results.component.ts:28 结果;状态=:1 无法加载 http://services.groupkt.com/state/search/USA?text=:请求的资源上不存在“Access-Control-Allow-Origin”标头。

let headers = new Headers();
      headers.append('Content-Type', 'text/plain');
      let options = new RequestOptions( headers: headers );
      return this.http.get('http://services.groupkt.com/state/search/USA?text=cal', options)
        .map(this.extractData)      
        .catch(this.handleError);

我能够解决此问题的唯一方法是下载修复 CORS 的 chrome 扩展程序。但这是一个我需要提交的项目,所以我怀疑告诉某人下载扩展程序是否会顺利完成......

是的,我已清除浏览器缓存。

【问题讨论】:

您的项目是从客户端访问该资源 (services.groupkt.com) 的一部分吗?我问,因为如果您的项目实际上涉及通过您自己的服务器代理该资源,那么您还有更多工作要做。此外,您不是在修复 CORS,而是在规避它。 CORS 是一种保护用户的安全策略。 headers.append('Content-Type', 'text/plain'); — 这毫无意义。您正在发出 GET 请求。请求正文中没有描述内容类型的内容。 这一切都取决于服务器。 ***.com/questions/35553500/… 的可能重复项 我从另一个答案中得到了那个文本/简单的东西,猜它毫无意义哈哈 【参考方案1】:

我得到了我想要的响应,但我也收到了一个对我来说毫无意义的 CORS 错误

当服务器未明确授予 javascript 跨源读取响应的权限时,客户端会生成 CORS 错误。

这完全独立于请求是否产生了良好的响应(即是否为 200 OK 或其他)。

他们说他们启用了 CORS

要么:

他们错了或者 他们启用了 CORS,但仅在您提出的请求不满足的条件下(例如,对于不同的 URL)

【讨论】:

嗯好吧。似乎我无能为力,然后向该网址发出请求..

以上是关于得到 200 响应,还有 CORS 错误?的主要内容,如果未能解决你的问题,请参考以下文章

AWS CORS 问题:即使在获得 200 状态代码后,Ajax 响应也会出现错误

请求api网关cors错误

API调用在ReactJS中得到CORS错误,但在节点和邮递员中得到响应

Flutter - 在得到预期的 200 之前总是得到错误的 POST 400 响应

auth0 授权 api 调用返回 200 状态但仍然得到错误响应

Breeze 错误消息“;”在 Chrome 中状态为 OK