2010-02-21 3 views
1

서버 측 ASP XmlHttpRequest 코드를 클라이언트 측 JavaScript로 변환하려면 어떻게해야합니까? 내가 XML 요청에 대한 ASP 코드 아래 사용

<% 
pXML=Server.URLencode(SearchRequest) 
set xmlhttp = server.CreateObject("MSXML2.ServerXMLHTTP") 
xmlhtt.open "post", http://OutSideDomain/xml_requests , false 
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
xmlhttp.send "xml_request=" &pXML 
htresult = xmlhttp.responsexml.xml  
%> 

나는, 위의 ASP 코드가 잘 작동

<script type="text/javascript"> 
function loadXMLDoc() 
{ 
var xmlHttp; 

try 
    { 
    xmlHttp=new XMLHttpRequest(); } 
catch (e) 
    { 
    try 
    {  
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e) 
    { 
    try 
     {  
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
    catch (e) 
     {  
     alert("Your browser does not support AJAX!");  
     return false; 
      }  
      } 
      } 
    xmlHttp.onreadystatechange=function() 
    { 
    if(xmlHttp.readyState==4) 
     { 
     alert(xmlHttp.responseText); 
     } 
    } 

    var params ='xml_request=' +'<%=pXML>'; 
    xmlHttp.open("POST","http://OutSideDomain/xml_requests",true); 
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlHttp.setRequestHeader("Content-length", params.length); 
    xmlHttp.setRequestHeader("Connection", "close"); 
    xmlHttp.send(params); 

    } 
</script> 

자바 스크립트에서 위의 코드 (아약스)를 작성하고 XML 응답을 얻으려고

하지만 난이 오류가 자바 스크립트에 액세스 드 "에 대한 문제가 무엇인지 등 xmlHttp.send(params);

에서"액세스가 거부되었습니다 "입니다 NIED "?

나는 여기에 또 다른 HTTP 한 HTTP에서 할 수없는 ...하지만 그 일이 내가이 문제를 해결하는 방법

... 내 ASP 페이지에서 작동하는지?

귀하의 답변을 기다리고 있습니다.

답변

3

문맥의 차이는 문제입니다. 자바 스크립트 코드가 클라이언트 측에서 실행 중이므로 Same Origin Policy의 영향을받습니다. ASP 코드가 서버 측에서 실행 중이므로 그렇지 않습니다.

initiatives going on이 있지만 사이트 간 통신이 제한 될 수는 있지만 기본적으로 클라이언트에서이 작업을 수행 할 수 없습니다. 당분간, 대역폭 비용이 발생하더라도 서버 측에서이 작업을 계속하는 것이 좋습니다.

연락하려는 소스가 JSONP 인터페이스를 제공하는 경우이를 사용할 수 있습니다.

관련 문제