2014-06-05 2 views
0

Internet Explorer에서 데이터를 크로스 도메인으로 보낼 수 있으려면 XDomainRequest을 사용해야합니다.Crossdomain AJAX Internet explorer HTTP to HTTPS

그래서 나는 다음 호를 발견했습니다. HTTP에서 HTTPS로 데이터를 보내서 오류 SCRIPT5: Access is denied.을 제공합니다. 나는 결과없이 지정된 PHP 파일에 header("Access-Control-Allow-Origin: *");을 추가하려고 시도했다.

Internet Explorer 9 이상의 HTTP 도메인에서 HTTPS 도메인으로 데이터를 보낼 수있는 방법이 있습니까?

내가 지금합니다 (script5 오류를주는) 사용하고 코드 :

if ('XDomainRequest' in window && window.XDomainRequest !== null) { 
    var xdr = new XDomainRequest(); // Use Microsoft XDR 
    xdr.open('get', url); 
    xdr.onload = function() { 
     var dom = new ActiveXObject('Microsoft.XMLDOM'), 
     JSON = $.parseJSON(xdr.responseText); 

     dom.async = false; 

     if (JSON == null || typeof (JSON) == 'undefined') { 
      JSON = $.parseJSON(data.firstChild.textContent); 
      console.log(JSON); 
     } 

     successCallback(JSON); // internal function 
    }; 

    xdr.onerror = function() { 
     _result = false; 
    }; 

    xdr.send(); 
} 

가 나는 또한 어떤 결과 $.support.cors = true;을 추가했습니다.

답변

0

내 자신의 질문에 대답 : 나는 그것을 해결 한 JSONP를 사용하여 :

$.ajax({ 
    url: url, 
    data: thedata, 
    dataType: 'jsonp', 
    jsonp: 'callback', 
    jsonpCallback: 'jsonpCallbackFunc', 
    success: function (response) { 

    } 
});