2011-02-10 4 views
1

XMLHttpRequest를 실행하려고하면 서버에서 응답이 반환되지만 (Fiddler에서 확인한 것처럼) xhr.getAllResponseHeaders()는 null을 반환하고 예외를 throw합니다.XMLHttpRequest 응답이 null 인 경우

"동일 출처 정책"때문입니까? 문제를 해결하는 방법을 제안 해주세요.

코드 : datajs.codeplex.com 오픈 소스 코드를 사용 :

   xhr.onreadystatechange = function() { 
       if (xhr === null || xhr.readyState !== 4) { 
        return; 
       } 

       // Workaround for XHR behavior on IE. 
       var statusText = xhr.statusText; 
       var statusCode = xhr.status; 
       if (statusCode === 1223) { 
        statusCode = 204; 
        statusText = "No Content"; 
       } 

       var headers = []; 
       var responseHeaders = xhr.getAllResponseHeaders().split(/\r?\n/); 

자원은 다른 도메인에 있습니다. 액세스 중 http://odata.netflix.com/v1/Catalog/Genres

+0

일부 코드의 예는 잘못된 것일 수도 있습니다. – geoffreyd

+1

코드 샘플을 게시하십시오. 답장 받기 전에 응답을 확인하는 것처럼 들립니다. – leebriggs

+1

동일한 출처 정책은 도메인에 있지 않은 리소스 *에 액세스하려고 할 때만 적용됩니다. 액세스하려는 대상을 지정하지 않았으므로 그 대답은 다음과 같습니다. 어쩌면. –

답변

0

동일한 출처 정책을 우회하려면 JS를 사용하여 외부 URL의 내용을 가져 오는 PHP 스크립트를 호출하고 결과로 echo을 호출 할 수 있습니다.

관련 문제