javascript - 跨域 HTML Get 请求

标签 javascript jquery get cross-domain

我正在使用 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/

相关文章:

javascript - DOMNodeInserted 未按预期工作?

JavaScript - 在数字输入之前打印奇数和偶数

javascript - 箭头在页面加载时隐藏并在单击时显示

jquery - 链接在悬停时淡入 - 如何让它们在目标可见时保持不透明?

javascript - 带 TS 的 Angular 2 ES5 滤镜

javascript - 自定义 Svelte Material UI slider 标签

javascript - Google map 重绘时会触发什么事件?

python - 如何在 python 中输出 HTML GET 变量

bash - 无需 curl 或 bash 即可连接到网站

MediaWiki 安装上的 PHP 和 MySQL