我有2个项目的设置:的WebAPI 2.2 +镀铬= CORS 405错误
- 只是用HTML和迪朗达尔,并呼吁使用$阿贾克斯一的WebAPI POST方法的网站。这是在本地主机:33432和调用第二个网站(请注意,除了杜兰达正在添加和使用最新的2.j版本的jquery外,ajax调用没有任何特别的东西)
Web API网站,是在localhost:32287已在文件的global.asax.cs这样启用CORS:
GlobalConfiguration.Configuration.EnableCors(新EnableCorsAttribute( “”, “”, “*”));
对于这两个站点,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=?=
另外,本地不会发生这种情况。 Chrome只是在没有OPTIONS的情况下通过它。
任何想法,为什么我得到这个错误,它不只是通过?
谢谢!