Angular 使用this.http.get加载远程HTML
我试图从我控制的远程URL加载一些HTML,然后我想在我的站点上显示它 我正在使用以下代码显示我的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
<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>