我正在使用 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 并解析它。
最佳答案
您不能这样做,因为它可用于 XSS(跨站点脚本),其中脚本被站点域外的脚本访问。也就是说,您可以通过这种方式获取 cookie 信息等。
您必须在服务器端执行此操作。如果您使用的是 php,则可以使用 $content = file_get_contents('http://nfl.com/stats/player');
或者您可以根据需要使用 curl。
否则,合法的方法是通过 API,但正如您所指出的,这不是您的选择。
关于javascript - 跨域 HTML Get 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058277/