AngularJS修补法补丁没有被访问控制允许的方法
问题描述:
嗨,我试图发送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
答
的CorsFeature
默认情况下不允许PATCH(它是will in next v4.0.48 release)。
你可以指定哪些方法应该可用于CORS同时注册CorsFeature
时,如:
Plugins.Add(new CorsFeature(
allowedMethods: "GET, POST, PUT, DELETE, PATCH, OPTIONS"));
看来,服务器不允许PATCH请求,你可以在看的访问控制允许-方法。 – Shikloshi