使用javascript加载跨域内容

时间:2011-12-15 17:03:55

标签: javascript ajax cross-domain

好的,这是问题:

远程站点需要从其他域中提取复杂的html页面内容。由于确定页面高度的问题,iframe解决方案不够好,并且在IE浏览器上不允许跨域ajax。有JSONP,但需要提供的代码量太复杂,我们还需要提供一些功能。

解决方案:

在服务器端,我们正在生成包含字符串变量中所有复杂html内容的javascript。在远程方面,我们只需要调用此脚本,然后在页面上放置一个。然后,Div将填充来自服务变量的内容。它适用于所有浏览器的跨域,内容完美显示:))。

问题:

这种方法有什么问题?为什么在网上没有提到这样的解决方案?它似乎非常适合提供任何类型的小部件和类似的内容,现在我担心它有一些大的谬误:)?

请揭穿它:)

3 个答案:

答案 0 :(得分:0)

这种方法没有问题。客户端禁止跨域用于安全问题,但在服务器端,您可以按照自己的意愿进行。

这里的区别在于您必须重新加载页面才能查询其他域,然后将其推送到您的页面。所以基本上你可以做到以下几点:

1-您的javascript向其自己的域发出ajax请求。 2-在服务器端,您发出跨域请求 3-您打印一些供请求者使用的js / html

在这种情况下,除了直接在客户端进行请求之外,还有一个请求。

答案 1 :(得分:0)

正如Pointy评论的那样,这与JSONP基本相同。请记住,大多数浏览器都会阻止向第三方网站发送Cookie。

答案 2 :(得分:0)

只要服务器发送access-control-allow-origin响应头,就可以使用跨域。请参阅链接的文章以获取示例

http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using-xmlhttprequest-or-xdomainrequest.html