我需要使用JavaScript(No JQuery等)从域A向域B发送相当少量的数据(~215个字符)。我完全可以控制域B,因此数据的实现方式并不像它的发送方式那么重要(仅使用JavaScript),域B无需将任何内容发送回域A.
我相信这个问题的一个解决方案是让域A请求带有来自域B的查询字符串的图像文件。在域B上,我可以捕获请求并解析查询字符串中的数据。事实上,我相信这就是分析的工作原理。
可能的其他解决方案?
答案 0 :(得分: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编码,并且您可以更好地控制事物,而且更难以欺骗。 (仅浏览某个网址是不够的)