我正在使用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,但是正如您所指出的那样,这不是您的选择。