1

我正在使用 Coda,我正在尝试编写一个程序来使用 Javascript/Jquery 在他们的统计页面 (http://www.nfl.com/stats/player) 上加载 nfl 的 html,然后删除所有多余的 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 并解析它。

4

1 回答 1

3

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

你将不得不做这个服务器端。如果您使用的是 php,您可以使用$content = file_get_contents('http://nfl.com/stats/player');,或者如果您愿意,也可以使用 curl。

否则,合法的方法是通过 API,但正如您所指出的,这不是您的选择。

于 2012-08-21T15:32:04.680 回答