【问题标题】:Angular 2 rc5 unexpected token < parse HTML to varaibleAngular 2 rc5 意外令牌 < 将 HTML 解析为变量
【发布时间】:2017-01-12 13:22:40
【问题描述】:

我有一个返回 HTML 的 jsonp 调用。在控制台中,我可以看到返回的文档,但我相信它需要 javascript,并且由于 中的第一个“

public getToolTip(item: any) {
    let url = 'http://us.battle.net/wow/en/item/138154/scenario-normal/tooltip?callback=JSONP_CALLBACK';
    this.jsonp.get(url)
              .map((res:any) => res)
              .subscribe(res => this.template = res);
}

我也尝试过使用 DOMParser,但同样的问题是意外令牌 '

public getToolTip(item: any) {
    let parser = new DOMParser();
    let url = 'http://us.battle.net/wow/en/item/138154/scenario-normal/tooltip?callback=JSONP_CALLBACK';
    this.jsonp.get(url)
              .map((res:any) =>  res = parser.parseFromString(res, 'text/html'))
              .subscribe(res => this.template = res);
}

Image of Console Log

如果我从控制台点击“callback=ng_jsonp.__req0.finished”,我想要的html文档会正确返回,只是它没有正确保存到变量中

Request / Response Headers

【问题讨论】:

    标签: http angular service jsonp


    【解决方案1】:

    我认为你在这里犯了一个错误:

    .map((res:any) => res)
    

    应该是:

    .map((res:any) => res.json())
    

    【讨论】:

    • 我删除了 .json() 以查看是否会改变任何内容,但我继续将其放回去只是为了看看。但这并不能解决问题:[
    • 请从组件和模板中添加整个代码,以便我可以调试。
    • 其实你不能使用json(),因为它不是json。您点击的网址正在返回 html。
    猜你喜欢
    • 2017-12-19
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 2017-10-13
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多