跨域HTML获取请求

时间:2012-08-21 15:29:00

标签: javascript jquery get cross-domain

我正在使用Coda,我正在尝试编写一个程序,使用Javascript / Jquery在他们的统计页面上加载nfl的html(http://www.nfl.com/stats/player),然后删除所有多余的HTML。得出了几个球员名单和他们的统计数据。

我尝试过使用`$('#container')。load('http://www.nfl.com/stats/player')。

这在Coda中工作正常,但我不能按照我想要的方式解析html。

在谷歌浏览器中我收到错误

XMLHttpRequest cannot load http://www.nfl.com/stats/player. Origin null is not 
allowed by Access-Control-Allow-Origin.

据我所知,这是所有浏览器内置的安全功能。这个问题有解决方法吗?我可以使用不同类型的请求吗?

我理解我应该使用JSONP来处理此类请求,但我不相信nfl有一个API可以实现这一点。

我已经看到这样的问题被抛出,但我认为没有人给出了非常好的答案。

我认为仍然有很多人想知道这是否是$.get跨域HTML和解析的简单方法。

1 个答案:

答案 0 :(得分:3)

您不允许这样做,因为它可以用于XSS(跨站点脚本),其中脚本由站点域外的脚本访问。即你可以通过这种方式获取cookie信息。

您必须执行此服务器端。如果您使用的是php,可以使用$content = file_get_contents('http://nfl.com/stats/player');,或者如果您愿意,可以使用curl。

否则,合法的方法是通过API,但正如你所指出的那样,在你的情况下不是一个选项。