如何在我们的[跨域问题]之外的另一个域上加载XML文件

时间:2010-04-16 12:33:10

标签: javascript xml cross-domain

我的服务器上有一个XML文件,我的合作伙伴必须通过我正在编码的javascript访问它。

它在本地完美运行,但我一做到了:

xmlDoc.async=false;
xmlDoc.load("/export/export.xml");

xmlDoc.load("http://www.something.com/export/export.xml");

它停止了工作。我知道这是为了避免XSS攻击,但是如果他们无法访问我的XML文件,我就没有必要开发JS脚本。

那么,如何绕过这样的限制?

4 个答案:

答案 0 :(得分:3)

代之以JSON-P format提供您的数据。

答案 1 :(得分:1)

根据需要,一个选项是将来自您站点的所有内容完全封装在从您的站点加载的独立框架中,从而使进行加载的页面与服务器正确匹配。

另一个选择是让合作伙伴在他们的服务器上运行服务器端脚本,该脚本可以获取XML文件,然后将其传递给客户端,以便它“显示”为托管在他们的服务器上。

在客户端没有办法绕过它;如果有的话,它将首先打破限制它的目的。

答案 2 :(得分:1)

我在我的域名上使用代理来获取信息。这可以是从远程服务器获取信息的任何服务器端脚本 - 这样,所有请求都到我的本地服务器代理页面。

答案 3 :(得分:0)

以下是SOP(同源策略)问题here的一些解决方法。帖子是关于jQuery的,但概念是一样的: