【发布时间】:2014-01-15 16:19:06
【问题描述】:
作为学习 JavaScript 的一部分,我正在创建一个小部件以在我的 Windows 7 桌面上运行。该小部件应该显示叠加在网络摄像头图像上的时间和温度。网络摄像头图像和温度是从单独的远程服务器(可靠且已知安全)中提取的。温度是 XML 文件的一部分,需要解析才能从中获取温度。
这是给我带来问题的代码的 sn-p。
function setTemp(locURL) {
$.ajax({
url : locURL,
success : function(data, textStatus, jqXHR) {
// repackage plainobject as String and send for parsing
displayTemp(String(data));
},
error : function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
参数locURL 作为字符串传递,其中包含本地或远程XML 文件的位置。当 XML 文件在本地托管时,没有问题;该小部件完美运行。但是,当我尝试从远程服务器提取 XML 文件时,我遇到了跨域安全问题。
有没有办法从远程服务器获取这个 XML 文件?我没有远程主机的管理员权限,而且他们不提供 JSONP 支持。因此,JSONP 和 CORS 都不是有用的选项。有没有我没想到的简单 HTML 解决方案?
【问题讨论】:
-
您唯一的其他选择是使用本地服务器端脚本来检索 XML 文件,然后通过 AJAX 获取该本地脚本。
-
您是否有权访问一个 Web 服务器,您可以在其中托管一个页面来为您下载 xml 文件,并允许 CORS?
-
“有没有我没想到的简单 HTML 解决方案?” 不。您无法在客户端做任何事情来完成这项工作。在服务器端做。
-
如果我在本地也没有管理员权限怎么办?真的没有办法在图像上加上温度吗?
标签: javascript jquery ajax xml json