http - Angular 2 将 HTML 放入标签中

标签 http angular

我试图将 HTML 内容放入标签中。 div 标签显示一个页面。但是脚本标签不起作用。 看起来这段代码...

getRequestToAssignPage (param: string) : any {
    return this.$http.get(param)
        .map((res: Response) => {
            this.status = res;
            return res.text()
        })
        .toPromise()
        .then(response => this.response = response)
        .catch(error => this.status = error);

}

这是通过获取新页面发出请求并将其转换为文本的方法。 然后我将文本放入 div 标签。 像这样。

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

有效!页面显示,但脚本标签不起作用,它显示文本的方式。 页面加载后,下面的内容属于文本

jQuery(document).ready(function () { jQuery('#filter-form').yiiActiveForm([], []); jQuery('#id-vendors-list').yiiGridView({"filterUrl":"/vendors/vendor/index","filterSelector":"#w0-filters input, #w0-filters select"}); });

我该如何解决?

最佳答案

您可能对安全 HTML 有疑问。

尝试实现这个管道:

import { Injectable, Pipe } from '@angular/core';
import { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';

@Pipe({
  name: 'safe'
})
@Injectable()
export class SafePipe {
   constructor(private sanitizer: DomSanitizer) {}
   transform(url) {
   return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}

然后:

<div [innerHTML]="response | safe"></div>

关于http - Angular 2 将 HTML 放入标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488631/

相关文章:

angularjs - 降级 Angular js 的所有 Angular 组件的优雅方法

angular - 错误 : No NgModule metadata found for '[object Object]'

ios - 如何使用 Ionic 3 在 iOS 上的任何输入之外监听按键事件

java - 通过 HTTP 实现大文件上传

javascript - 在循环中发送 jquery ajax 请求

java - 如何在不设置系统范围属性的情况下将 HTTP 代理用于 JAX-WS 请求?

javascript - 刷新页面时 firebase.auth().currentUser 返回 null

http 内容类型和二进制数据

javascript - 服务器轮询的替代方案?

typescript - 每个 http 请求的 Angular 2 加载器