【发布时间】:2015-01-18 02:49:35
【问题描述】:
我想将 XML 数据从 php(域 A)发送到远程 javascript 文件(域 B)。 我不能将它们放在同一个域上,我也不能将任何其他文件放在域 B 上。
我已经阅读了关于从 php 而不是 XML 发送 JSONP 对象的信息,但正如我从教程中了解到的那样,我需要一个与 javascript 文件所在域相同的 php 代理。 tutorial link (xhr.open("GET", "xmlproxy.php?url=" + escape(url), true);
任何建议,我该怎么做?
ThW 回答后稍后编辑
现在我有以下示例代码:
testlog.php 文件
<?php header('Access-Control-Allow-Origin: *');
print "<Logs><Log><id>Test Log</id></Log></Logs>";
?>
页面加载时调用的javascript函数:
function getTestLog() {
alert("Gets here!");
$.ajax({
url: "anotherdomain/testlog.php",
data: requestVars,
dataType: 'xml',
success: function(xml){
alert(xml);
},
error: function (xhr, err) {
alert("Error: " + xhr.readyState + "\nstatus: " + xhr.status + "\nerror:" + err);
alert("responseText: " + xhr.responseText);
}
});
}
问题是,它没有进入 ajax 的东西
【问题讨论】:
-
JSONP 不需要您使用代理...请告诉我们您需要传输多少数据?这很重要。
-
想象一个有 100 首曲目的播放列表,每首曲目都有艺术家、曲目标题和时长。我无法真正估计数据块的确切大小,但这是我能想到的最接近的。谢谢你顺便回复。附带说明:我可以访问 php 和 javascript 文件,但我无法将任何其他文件添加到 javascript 所在的同一域中。
标签: javascript php xml json cross-domain