我正在尝试使用Ajax向外部数据库提交查询(http:// foreignserver:1234 / database?query =“SELECT FROM WHERE”)。查询将运行并创建一个我想要返回的XML文件。外部服务器正在Apache Tomcat上运行。我已经对跨站点脚本做了一些研究,但是:
-CORS不是一个选项,因为必须支持IE7。在Tomcat中做起来似乎也不必要。
-easyXDM不是一种选择。
- 我正在尝试使用XML,而JSONP似乎是一个JSON的东西?
- 会有很多数据回来,所以iFrame可能不是一个选项。
怎么办?
答案 0 :(得分:0)
JSONP对于此任务会更好,因为JSON语法很轻,特别是如果您有大量数据。此外,除了服务器将数据编码为JSON之外,JSONP已经绕过SOP并且纯粹是客户端。但是,您必须使用JSON而不是XML。
如果您真的坚持使用XML,您可以让服务器帮助您获取远程页面。这意味着您域中的浏览器从同一域上的服务器请求该页面,然后您的服务器将读取远程页面并将其返回到浏览器。您的服务器将成为绕过SOP的代理。