【问题标题】:AngularJS Patch Method PATCH is not allowed by Access-Control-Allow-MethodsAccess-Control-Allow-Methods 不允许 AngularJS 补丁方法 PATCH
【发布时间】:2015-09-26 04:47:14
【问题描述】:

您好,我正在尝试从 AngularJS 向 ServiceStack 发送 PATCH 请求,收到此错误:

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

这是请求标头:

Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: PATCH
Origin: 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Access-Control-Request-Headers: accept, content-type
Accept: */*
Referer: https://pankajb1.dev.ma.net/ui/static/index.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6

这是回复:

HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 0
Server: Microsoft-IIS/7.5
X-Powered-By: ServiceStack/3.959 Win32NT/.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 25 Sep 2015 20:23:51 GMT

【问题讨论】:

  • 似乎服务器不允许 PATCH 请求,您可以在 Access-Control-Allow-Methods 中看到。

标签: c# asp.net angularjs


【解决方案1】:

CorsFeature 默认情况下不允许 PATCH(will in next v4.0.48 release)。

同时您可以在注册CorsFeature时指定哪些方法可用于CORS,例如:

Plugins.Add(new CorsFeature(
    allowedMethods: "GET, POST, PUT, DELETE, PATCH, OPTIONS"));

【讨论】:

    猜你喜欢
    • 2017-06-09
    • 2017-04-18
    • 2019-11-16
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多