0
Chrome (최신 버전)으로 크로스 도메인 요청을 수행하려고 시도하고 POST에 대한 웹 API 작업이 먼저 OPTIONS 동사를 사용하여 크롬에 의해 협상 중입니다. jQuery 2.1을 사용하여 $.support.cors =true
과 ajax 요청 속성 crossDomain: true
을 설정했습니다. 내 Web.config의에서 내가 설정 한 : Asp.Net 웹 Api 요청이 405를 반환합니다.
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, OPTIONS" />
</customHeaders>
</httpProtocol>
뿐만 아니라, 내가 프로젝트에 대한 MS의 최신 NuGet 패키지를 설치하고 WebApiConfig.Register 방법 내부
config.EnableCors()
를 호출했다.
OPTIONS /visitorservice/api/Visitor/PostNewSession/account/4/site/1000 HTTP/1.1
Host: mg.mycompany.com
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36
Access-Control-Request-Headers: accept, x-mycompanyvisitor, content-type
Accept: */*
DNT: 1
Referer: http://localhost/test2.htm
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
그리고 아래의 반응이다 :
아래는 요청이 보내지고있다.
HTTP/1.1 405 Method Not Allowed
Cache-Control: no-cache
Pragma: no-cache
Allow: POST
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS
Date: Wed, 05 Mar 2014 15:59:38 GMT
Content-Length: 76
무엇이 누락 되었습니까? 다른 스레드는 WebDav 문제를 참조하는 것처럼 보이지만 IIS에 설치되지 않습니다.
안녕하세요, 변경 사항에 대해 자세히 알려주십시오. – Remotec