Access-Control-Allow-Methods 不允许 CORS 方法 PATCH

Posted

技术标签:

【中文标题】Access-Control-Allow-Methods 不允许 CORS 方法 PATCH【英文标题】:CORS Method PATCH is not allowed by Access-Control-Allow-Methods 【发布时间】:2017-06-09 08:32:48 【问题描述】:

我正在开发一个与 Laravel 支持的 REST API 通信的 angular 2 应用程序。我正在尝试向 REST API 发送补丁请求并收到上述错误。在开发人员工具的网络选项卡中,我的响应标头看起来是正确的,并且似乎反驳了错误消息。

HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: php/7.0.8-0ubuntu0.16.04.3
Allow: GET,HEAD,PATCH
Cache-Control: no-cache
Content-Type: text/html; charset=UTF-8
Access-Control-Allow-Origin: *
Acess-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, X-XSRF-TOKEN

【问题讨论】:

您可以看到“Acess”的拼写错误……对吗? VTC - 简单的错字。 哇哦。是的,这应该很明显 【参考方案1】:

可能是因为默认情况下不允许使用 PATCH 方法,您必须实际发送 POST 方法

<input name="_method" type="hidden" value="PATCH">

在表单标签中。

我就是这样做的,不知道 Angular 的情况如何。

【讨论】:

不,我正在使用具有补丁方法的 $http 服务。我的问题是响应标头上的一个愚蠢的错字。

以上是关于Access-Control-Allow-Methods 不允许 CORS 方法 PATCH的主要内容,如果未能解决你的问题,请参考以下文章