Angularjs 使用Angular 2和Http对象获取网页内容

Angularjs 使用Angular 2和Http对象获取网页内容,angularjs,http,Angularjs,Http,我是Angular 2框架的新手,我试着理解Http对象。 我在这里学习教程: 从提供此类数据的服务器检索JSON文件非常完美,但我想将HTML内容检索到一个变量中。我想有所有的html文件,并分析它得到一些信息 当我通过以下网站修改示例中的URL时: this.http.request('https://www.google.ca/' ).map(res => res.text()).subscribe(data => { this.webPage = data.toSt

我是Angular 2框架的新手,我试着理解Http对象。 我在这里学习教程:

从提供此类数据的服务器检索JSON文件非常完美,但我想将HTML内容检索到一个变量中。我想有所有的html文件,并分析它得到一些信息

当我通过以下网站修改示例中的URL时:

this.http.request('https://www.google.ca/' ).map(res => res.text()).subscribe(data => {
    this.webPage = data.toString();
    console.log("data:" + data );
});
我得到了这个错误:

异常:URL为null的状态为0的响应

我是否使用好的API? 我做错了什么

谢谢, 帕特这是个问题。
完全错误是:

XMLHttpRequest cannot load https://www.google.ca/. 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'https://run.plnkr.co' is therefore not allowed access.  
EXCEPTION: Response with status: 0  for URL: null
您无法请求“”,因为:1)当您在应用程序中发出http请求时,源已定义为您的主机,可以是“localhost”或您站点的主机。2) “www.google.ca”是另一个来源,它没有设置“访问控制允许来源”,或者您站点的主机不在其“访问控制允许来源”列表中

如果你想要“www.google.ca”的html,你需要一个代理服务器,步骤是:1)在你的ng2应用程序中,你向代理服务器发送一个请求,并要求它执行。。。2) 您的代理服务器请求“www.google.ca”,并将html发送到您的ng2应用程序


当代理服务器请求“www.google.ca”时,源被定义为“www.google.ca”。因此代理服务器可以获取html。

因此,如果我理解,在我的应用程序中,我不能做我想做的事情。我需要在计算机上设置一个服务器来执行代理。好吧,这比我想的要复杂。谢谢关于爱奥尼亚,你知道有没有一个插件来做服务器的工作吗?我没有用过爱奥尼亚,也不知道它的插件。但在搜索了“ionic cors”之后,我得到了,在“ionic CLI代理服务器”这一行之后,您可能会发现一些有用的东西。