javascript:如何获取网页的内容

tic*_*tic 7 html javascript xmlhttprequest fetch responsetext

在JS中,是否可以获取将其分配给变量的网页内容?例如,为什么以下玩具代码不起作用?

var req = new XMLHttpRequest();
req.open('GET', 'http://www.google.com', false);
req.send(null);
if(req.status == 200)
  alert(req.responseText);
Run Code Online (Sandbox Code Playgroud)

有更好的方法/代码吗?

gio*_*_13 7

使用服务器端代理,如php页面,读取所需的页面,然后通过javascript对该代理进行ajax调用:

var req = new XMLHttpRequest();

req.open('GET', 'proxy.php?url=http://www.google.com', false);
req.send(null);

if(req.status == 200) {
   alert(req.responseText);
}
Run Code Online (Sandbox Code Playgroud)


Mig*_*Mig 6

上述操作无效,因为出于安全考虑,Ajax请求无法访问其他域上的文件/页面.通常,您可以使用[在此处插入服务器端语言]创建脚本以下载所请求的页面.然后你的javascript可以向这个页面发出请求.

还有'JSONP',但这通常用于提供特定JSONP访问的站点,大多数随机URL都没有.


SLa*_*aks 5

出于安全原因,您不能使用 AJAX 将请求发送到不同的域。