【问题标题】:CORS and PATCH error in ChromeChrome 中的 CORS 和 PATCH 错误
【发布时间】:2017-01-02 21:37:36
【问题描述】:

我正在开发一个 Angular 应用程序,并且必须向 Web 服务发送一些 CORS 请求。 GET 和 POST 按预期工作,但我总是得到“预检响应中的 Access-Control-Allow-Methods 不允许方法 PATCH”。错误。 请求和响应标头如下。知道这里有什么问题吗?

当我在 Postman 中发送相同的请求时,一切正常 - 我认为它不进行预检测试?

请求

Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,de;q=0.6,es;q=0.4,fr;q=0.2,pt;q=0.2,nb;q=0.2
Access-Control-Request-Headers:authorization, content-type
Access-Control-Request-Method:PATCH
Cache-Control:no-cache
Connection:keep-alive
DNT:1
Host:192.168.100.101:8081
Origin:http://zav.frontend.build
Pragma:no-cache
Referer:http://zav.frontend.build/provider/settings/account_data

回复:

Access-Control-Allow-Headers:Content-Type, Authorization, X-Requested-    With
Access-Control-Allow-Methods:*
Access-Control-Allow-Origin:*
Allow:HEAD,GET,OPTIONS,PATCH
Content-Length:1697
Content-Type:application/vnd.sun.wadl+xml
Date:Fri, 26 Aug 2016 08:53:03 GMT
Last-modified:Fr, 26 Aug 2016 10:53:03 MESZ

【问题讨论】:

  • Firefox 怎么样?也许您可以使用PATCH 方法指定Access-Control-Allow-Methods
  • 好提示:Firefox 给了我同样的错误,但提示,在 Acces-Control-Allow-Method 中找不到 PATCH,所以 PATCH 可能不适用于通配符。我将通过明确允许 PATCH 来测试它

标签: google-chrome cors patch


【解决方案1】:

将通配符 * 解析为 Access-Control-Allow-Methods 仅在 2017 年 9 月添加到 Chrome 的源代码中:https://bugs.chromium.org/p/chromium/issues/detail?id=615313 - 看起来它已进入 Chrome 63(2017 年 12 月稳定版本)。

【讨论】:

    猜你喜欢
    • 2016-11-15
    • 2021-04-11
    • 2012-10-02
    • 2021-08-05
    • 2014-10-27
    • 2018-08-24
    • 1970-01-01
    • 2017-12-08
    • 2014-12-11
    相关资源
    最近更新 更多