我有2个项目设置:
位于localhost:32287上的Web API网站,在global.asax.cs文件中启用了这样的cors:
GlobalConfiguration.Configuration.EnableCors(new EnableCorsAttribute(&#34; &#34;,&#34; &#34;,&#34; *&#34;)); < / p>
web.config文件是两个站点的骨库存MVC 5.2.2。完成system.webserver部分中的删除等。
本地主机上的Internet Explorer没有问题,因为它没有发出OPTIONS请求,因此没有问题。如果将其发布到生产中的单独域,则会发生这种情况。 (我们已尝试过这个)
Chrome无法在OPTIONS请求中收回405错误。以下是Chrome发送和接收的内容:
Remote Address:[::1]:47806
Request URL:http://localhost:47806/Contacts/ValidateLogin
Request Method:OPTIONS
Status Code:405 Method Not Allowed
Request Headersview parsed
OPTIONS /Contacts/ValidateLogin HTTP/1.1
Host: localhost:47806
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost:32287
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
Access-Control-Request-Headers: accept, content-type
Accept: */*
DNT: 1
Referer: http://localhost:32287/XXXXX
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Response Headersview source
Allow:POST
Cache-Control:no-cache
Content-Length:76
Content-Type:application/json; charset=utf-8
Date:Tue, 02 Sep 2014 20:59:36 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/8.0
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?RDpcTGluY29sbiBQZWFrXFBNTlxEbnNcTHBwLk5ldHdvcmsuQXBpXENvbnRhY3RzXFZhbGlkYXRlTG9naW4=?=
除此之外,本地GET不会发生这种情况。 Chrome只是在没有OPTIONS的情况下启用它。
任何想法为什么我会收到此错误并且它不仅仅是通过?
谢谢!
答案 0 :(得分:0)
尝试使用--disable-web-security
Ubuntu的
google-chrome --disable-web-security
要么
chrome.exe --disable-web-security
然后再试一次