2011-03-22 5 views
2

JavaScript (No JQuery 등) 만 사용하여 도메인 A에서 도메인 B로 상당히 적은 양의 데이터 (~ 215 문자)를 보내야합니다. 도메인 B에 대한 완전한 제어권을 가지고 있으므로 데이터가 실제로 어떻게 전송되는지 (JavaScript 만 사용하는 것만 큼) 중요하지 않으며 도메인 B가 도메인 A로 아무것도 보내지 않아도됩니다.다른 도메인에 데이터 보내기

이 문제에 대한 해결책 중 하나는 도메인 A가 도메인 B의 쿼리 문자열을 사용하여 이미지 파일을 요청하는 것입니다. 도메인 BI에서 요청을 캡처하고 쿼리 문자열의 데이터를 구문 분석 할 수 있습니다. 사실, 이것이 분석이 작동하는 방식이라고 생각합니다.

가능한 다른 솔루션?

답변

1

현대적인 브라우저가 프라이버시의 일부로 이미지를 차단할 수 있으므로 이미지가 이상적이지 않습니다. 어딘가에서 보았습니다.

개인적으로 나는 비행에 form을 만들고 숨겨진 프레임에 제출됩니다

var _TargetPage = "http://www.domainB.com/page.php"; 

function SendData(strData) { 
    var oFrame = document.getElementById("HiddenFrame"); 
    if (!oFrame) { 
     oFrame = document.createElement("iframe"); 
     oFrame.id = "HiddenFrame"; 
     oFrame.name = "HiddenFrame"; 
     oFrame.style.display = "none"; 
     document.body.appendChild(oFrame); 
    } 

    var oForm = document.getElementById("HiddenForm"); 
    if (!oForm) { 
     oForm = document.createElement("form"); 
     oForm.id = "HiddenForm"; 
     oForm.method = "POST"; 
     oForm.action = _TargetPage; 
     oForm.target = "HiddenFrame"; 
     document.body.appendChild(oForm); 

     var oInput = document.createElement("input"); 
     oInput.type = "hidden"; 
     oInput.name = "HiddenInput"; 
     oForm.appendChild(oInput); 
    } 

    oForm.elements["HiddenInput"].value = strData; 
    oForm.submit(); 
} 

당신은 URL 인코딩을 엉망으로하지 않고, 당신이 일보다 효율적으로 제어 할 수 플러스가 더 어렵이 방법 스푸핑하기. (특정 URL만으로는 충분하지 않습니다.)

+0

흥미 롭습니다. 내일 다시 확인해 보겠습니다. – RandomWebGuy

+0

건배, 테스트하지 않았으므로 구문 문제를 신고하십시오. :) –

관련 문제