2009-08-08 30 views
2

我最近创建了一个学生组织网站(即www-sc.xxx.edu/studentorganizations/ourorganization)。我们学院不允许我们创建动态网站,因此我需要在不同的域名(博客,新闻等)中托管一些页面。现在,我想掩盖我在外部URL托管了一些网站。因此,例如,如果学生访问新闻页面,我希望数据从外部网址加载而不需要访问者意识到。这是可能的jQuery,如果是的话,如何?使用客户端编码加载外部网址

谢谢大家提前。

回答

3

这是一个棘手的问题类似,因为通常,您不能使用XMLHttpRequest从与当前网站没有相同来源的资源加载数据。这是出于安全原因:如果您的JavaScript可以从任何地方加载任意数据,这会打开各种跨站脚本攻击的大门。

如果你只想要做的是显示来自外部URL的数据,你可以在iframe中完成。但是,您修改数据表示的能力将非常有限。

对此的标准解决方案是编写一个服务器端代理,从外部资源获取数据,然后将其发送到客户端,但听起来您可能无法做到这一点。

然而,可以使用JSONP第三方数据,如果您要提取的数据是JSON格式获取。 jQuery supports this natively截至版本1.2。

+0

基本上有3件事环绕着。标题,描述和日期。我可以将外部网址数据转换为json,但我认为我的一个组员尝试了这种方法,但已经失败了。 – Efe 2009-08-08 17:57:12

+0

他以json格式打印数据,但未能检索到它。有没有一种标准的方法来检索JSON数据? – Efe 2009-08-08 17:58:14

+0

他是否在回调中使用'.getJSON'? JSONP需要一个。看看我提供的最后一个链接;它有一个如何使用Flickr JSONP API来实现的例子。 – 2009-08-08 18:04:03

0

虽然现在每天都很不受欢迎,但我认为解决您的问题最直接的方法是将外部内容合并到简单的HTML iframe中。

注:我这里假设,通过“不允许我们创建动态的网站”,你的意思是你没有访问PHP或服务器

0

...如何将外部加载到iFrame中? 在:

...如果你可以根据需要用jQuery修改src。

0

iFrames可以是无边界的,并且可以很好地与大多数现代浏览器上的网页集成。它们对于组织来说似乎是一个非常方便的选择