4

다른 도메인에서 PUT 요청을 수행하려고합니다. 그러나 스크립트는 IE에서만 실패합니다.도메인 간 URL에 대한 PUT 요청이 IE에서만 실패합니다.

인터넷 옵션> 보안 탭> 사용자 지정 수준> 기타> 도메인 간 데이터 원본 액세스 옵션을 사용하지 않도록 설정 한 경우 IE에서 문제가 무엇인지 알아 냈습니다. 내 요청 작업을 가져올 수 있었던 유일한 방법은 해당 옵션을 허용으로 설정하는 것입니다.

내 질문 : 최종 사용자가 옵션을 설정하도록 강요하지 않으면이 작업을 수행 할 수있는 방법이 있습니까?

IE에서 XDomain 요청에 사용할 수있는 XDomainRequest()가 있지만이 메서드는 PUT을 지원하지 않습니다.

+0

A.C.A.Methods를 사용하여 PUT 메소드를 허용하고 있습니까? – dandavis

+0

질문을 이해하지 못했습니다. –

+0

"Access-Control-Allow-Method"헤더와 함께 서버에서 CORS 지원을 올바르게 구성했는지 묻는 중입니다. 그러나 아래의 대답은 정확합니다. XDomainRequest는 GET/POST 동사가 아닌 동사를 허용하지 않습니다. XHR과 함께 PUT을 사용하려면 IE10 +가 필요합니다. – EricLaw

답변

6

IE9 및 이전 버전은 도메인 간 요청에서 PUT 메서드를 지원하지 않습니다. GET 및 POST 만 가능합니다.

+0

대체 방법이 있습니까? –

+0

CrossDomain의 PUT 메소드는 IE10 + 만 지원합니다. PUT 메서드가 필요하면 iframe과 함께 간단한 폼을 사용할 수 있습니다. – Mihail

+1

더 자세히 설명하고 예를 들어 주시겠습니까? –

0

게시 메시지 해킹을 사용하여 Xdomain 또는 EasyXDM과 같은 라이브러리를 사용하여 CORS 대안을 사용할 수 있습니다.

네이티브 XMLHTTPRequest를 하이재킹하고 "드롭 인"솔루션을 제공하므로 Xdomain을 사용하는 것을 선호합니다. EasyXDM은 더 많은 조건부 코딩 오버 헤드를 의미하는 API를 사용해야하지만 IE6/IE7을 지원합니다.

주요 테이크? CORS 지원을 중단하지 마십시오! IE가 스스로 행동하고 미래를 선택하도록하십시오.

관련 문제