使用JQuery load / ajax从其他域加载DIV内容

时间:2014-10-29 11:39:57

标签: javascript jquery ajax jsp cross-domain

我有一个要求,我必须从源域以外的域加载DIV中的内容。

例如

$("#myDiv").load("https://www.google.com")

现在在上面的示例中,我想将 google 页面内容加载到我的JSP上的DIV中。

现在,问题是由于浏览器的原始策略阻止了请求。

我已经完成了一些在服务器上设置标头的解决方案。但我不认为在这种情况下会更改标题,因为这可能会影响我的应用程序的其他方面。

此外,像YQL这样的解决方案可能无法正常工作,因为我不希望因为安全问题而对其他位置进行java脚本/ ajax调用。

我目前正在寻找可以解决我的问题的library / api / workaround或任何开源解决方案。

P.S:我正在使用servlets and JSP

请提出任何建议/解决方案。

非常感谢。

1 个答案:

答案 0 :(得分:0)

如果源域是您的,或者您可以更改返回值,那么您可以使用数据类型jsonp进行jquery ajax调用。如果您无法访问源域,则由于安全原因,这是不可能的。 作为另一种解决方案,我们可以使用管理请求和响应的小型代理,但您应该有权访问源域。

看看这个, enter image description here

代理可以与服务器2通信,没有任何限制,因为它们位于同一个域中。您可以在代理中实现适当的接口,以允许与外部服务器或客户端(如server1)进行通信。使用此模型,您无需更改服务器2.