복붙노트

[JQUERY] IE8 / 9의 jQuery와 XdomainRequest와의 Cors.

JQUERY

IE8 / 9의 jQuery와 XdomainRequest와의 Cors.

해결법


  1. 1.POST 메소드가 지원되며 도메인 간 HTTPS를 만드는 것 : // 호출 페이지를 HTTPS를 통해로드해야합니다. 이것은 XdomainRequest의 이러한과 다른 제한 사항을 자세히 설명하는 가장 좋은 기사입니다.

    POST 메소드가 지원되며 도메인 간 HTTPS를 만드는 것 : // 호출 페이지를 HTTPS를 통해로드해야합니다. 이것은 XdomainRequest의 이러한과 다른 제한 사항을 자세히 설명하는 가장 좋은 기사입니다.

    http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx


  2. 2.IE9 이하가 사용되면 프록시에 정상적으로 다운 그레이드 할 프록시를 작성했습니다. ASP.NET을 사용하는 경우 모두 코드를 변경할 필요가 없습니다.

    IE9 이하가 사용되면 프록시에 정상적으로 다운 그레이드 할 프록시를 작성했습니다. ASP.NET을 사용하는 경우 모두 코드를 변경할 필요가 없습니다.

    해결책은 두 부분입니다. 첫 번째 것은 jQuery Ajax 처리에 연결되는 jQuery 스크립트입니다. CrossDomain 요청이 이루어지면 WebServer는 자동으로 호출되고 브라우저가 즉시 다음과 같습니다.

    $.ajaxPrefilter(function (options, originalOptions, jqXhr) {
        if (!window.CorsProxyUrl) {
            window.CorsProxyUrl = '/corsproxy/';
        }
        // only proxy those requests
        // that are marked as crossDomain requests.
        if (!options.crossDomain) {
            return;
        }
    
        if (getIeVersion() && getIeVersion() < 10) {
            var url = options.url;
            options.beforeSend = function (request) {
                request.setRequestHeader("X-CorsProxy-Url", url);
            };
            options.url = window.CorsProxyUrl;
            options.crossDomain = false;
        }
    });
    

    웹 서버에서 요청을 받아야하며 X-CORSPROXY-URL HTTP 헤더에서 값을 가져 와서 HTTP 요청을 수행하고 마지막으로 결과를 반환합니다.

    나의 블로그 게시물 : http://blog.gauffin.org/2014/04/how-to-use-cors-requests-in-internet-explorer-9-and-velow/


  3. 3.IE8 / 9의 Cors 요청의 경우 jQuery Plugin jQuery-transport-XDR을 사용할 수 있습니다.

    IE8 / 9의 Cors 요청의 경우 jQuery Plugin jQuery-transport-XDR을 사용할 수 있습니다.

  4. from https://stackoverflow.com/questions/11487216/cors-with-jquery-and-xdomainrequest-in-ie8-9 by cc-by-sa and MIT license