Angular 使用this.http.get加载远程HTML

Angular 使用this.http.get加载远程HTML,angular,Angular,我试图从我控制的远程URL加载一些HTML,然后我想在我的站点上显示它 我正在使用以下代码显示我的HTML: <div [innerHTML]="headerHTML"></div> 但这会将响应中的HTML转换为文本,并删除HTML标记 如果我尝试不使用.text()则会得到响应对象,并且不知道如何访问包含HTML的\u body元素 this.http.get('https://www.server.com/snippet.php') .subscribe((res

我试图从我控制的远程URL加载一些HTML,然后我想在我的站点上显示它

我正在使用以下代码显示我的HTML:

<div [innerHTML]="headerHTML"></div>
但这会将响应中的HTML转换为文本,并删除HTML标记

如果我尝试不使用
.text()
则会得到
响应
对象,并且不知道如何访问包含HTML的
\u body
元素

this.http.get('https://www.server.com/snippet.php')
.subscribe((res) => {
  this.headerHTML = res;
});
那么这个呢:

this.http.get('https://www.server.com/snippet.php')
.subscribe((res) => {
  let str = JSON.stringify(res);
  let resJson = JSON.parse(str);
  this.headerHTML = resJson._body;
});

通过这种方式,您可以毫无问题地访问响应
\u body

这似乎有效,因此我将发布它,以防对其他人有所帮助

import { DomSanitizer } from '@angular/platform-browser';
然后我将其添加到我的构造函数中:

private sanitizer: DomSanitizer
然后,我使用以下方法访问HTML响应:

this.headerHTML = this.htmlTransform((<any>res)._body);
这使我能够在使用以下命令时成功地查看模板中的HTML:

<div [innerHTML]="headerHTML"></div>

您是否尝试使用
即使它有属性可在父项和子项之间通信我之前尝试过,但我得到错误-属性“\u body”在类型“Response”上不存在
htmlTransform(content) {
  return this.sanitizer.bypassSecurityTrustHtml(content);
} 
<div [innerHTML]="headerHTML"></div>