避免使用x域解决方案

时间:2010-11-04 11:53:31

标签: javascript ajax jquery cross-server

我目前正在开发一个Web应用程序,客户可以通过向我服务器上的js文件添加javascript链接来添加到他们的网页中。应用程序从我的服务器读取所有javascript文件,但在尝试使用ajax从我的数据库中获取数据时仍然出现错误。我认为这不会是一个问题,因为文件在我的服务器上。

我可以修复此问题,还是必须制作跨浏览器解决方案?我对客户服务器没有任何控制权。

提前致谢

的Mikael

2 个答案:

答案 0 :(得分:1)

这是不可能的:当您执行远程脚本时,它将在包含文档的上下文中运行。

有一些流行的解决方法:

  • 使用iframe修复了跨域问题,但未与远程站点整合良好(例如,没有自定义样式)

  • 使用JSONP制作跨域Ajax请求(详细解释here

  • 使用服务器端代理脚本(此方案中不是选项)

  • 使用YQL(我对此并不熟悉,但据说可行)

答案 1 :(得分:1)

same origin policy基于主机文档而不是脚本本身。

您需要使用cross domain ajax技术。