我基本上想要做的是从网站获取内容并将其加载到另一个网站的div中。到目前为止,这应该没问题。 问题是,应该获取的内容位于不同的服务器上,我没有源访问权。
我更喜欢使用jQuery JavaScript的解决方案。 我可以使用.htacces重定向来使用客户端(js)技术从远程服务器获取内容吗?
我也会选择其他解决方案。 非常感谢提前!
答案 0 :(得分:3)
由于同源策略,您无法对其他域执行AJAX调用。您可以向DOM添加<script>
标记,该标记指向另一个域上的Javascript文件。如果这个JS文件包含一些你可以使用的JSON数据,你就可以了。
唯一的问题是你需要以某种方式获取 JSON数据,这是JSON-P回调进入图片的地方。如果外部资源支持JSON-P,它会给你一些看起来像
的东西your_callback( { // JSON data } );
然后在回调中指定代码。
有关详情,请参阅JSONP。
如果JSONP不是一个选项,那么最好的办法就是获取数据服务器端,比如说每隔几分钟就有一个cron作业,然后将它存储在你自己的网站上。
答案 1 :(得分:1)
您可以使用服务器端 XMLHTTP请求从其他服务器获取内容。然后,您可以在服务器上进行解析(A.K.A屏幕抓取),并将您想要的部分与您的网页一起提供。
答案 2 :(得分:0)
如果来自其他网站的内容只是您要在您的网站上显示的HTML文档,您还可以使用iframe将其拉入。由于浏览器安全性,您将无法访问其任何内容规则。
答案 3 :(得分:0)
您可能需要“抓取”所需的数据并将其存储在服务器上。
这是关于如何从外部网站缓存数据的great tutorial。它实际上是为了获取和存储XML而编写的,因此需要进行一些修改。此外,如果您的网站不允许file_get_contents
,则可能需要对其进行修改才能使用cUrl
。