【发布时间】:2015-04-20 17:00:39
【问题描述】:
我想要实现的是:
在我的 html 页面上托管一个外部网站页面,无需任何服务器端代码,并使用 Jquery 从该页面获取特定的 html 元素。
我采取的方法是: 我的页面上有一个 iframe 对象,它的 href 设置为外部网页。但是当我尝试访问外部网页的内容时,它给了我“跨源请求被阻止:”错误
有解决这个问题的建议吗?
【问题讨论】:
-
由于政策,您不能这样做。这只是一个安全问题。解决这个问题的唯一方法是允许它来自主机域,即使那样你也可能会遇到问题。抱歉,由于误用,您正在尝试执行浏览器不允许的操作。
-
这是一项专门用于阻止像您这样的人的安全功能。当你只想得到一些珠宝时,不妨问问如何避开警察。如果您认为您对数据有有效的声明,您可以要求主机允许您访问。或者您可以使用服务器脚本为您获取数据。
-
@Amadan 这有点奇怪。以编程方式向第三方站点发出请求本身并没有错,只是出于安全原因在 JS 中被阻止。
-
@RoryMcCrossan:两者都是安全的。一种用于珠宝商,一种用于目标主机(以及主机的客户)。跨服务器客户端请求的主要问题是它们不像服务器请求那样可追踪 - 如果您有一个服务器发出您不喜欢的请求,您可以阻止它的 IP,但是给定目标主机的所有客户端都会有不同的 IP,无法确定哪个源主机负责。当然还有其他问题,但银行不允许使用巴拉克拉法帽是有原因的,即使你是合法地穿着它来御寒。
标签: javascript jquery html