2015-09-25 74 views
0

嗨,我试图发送PATCH要求允许从AngularJS到ServiceStack,收到此错误:AngularJS修补法补丁没有被访问控制允许的方法

Method PATCH is not allowed by Access-Control-Allow-Methods.

这是请求头:

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 
+0

看来,服务器不允许PATCH请求,你可以在看的访问控制允许-方法。 – Shikloshi

回答

2

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

你可以指定哪些方法应该可用于CORS同时注册CorsFeature时,如:

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