对于自定义帖子类型wordpress工具集,Angular2 http获取结果为空

时间:2017-01-06 16:17:49

标签: wordpress angular

我正在使用wordpress rest api和angular2来构建简单的单页应用。我用工具集创建了一个自定义帖子类型。一切正常,我可以看到数据恢复正常。

http://tncorp.biffapps.com/wp-json/wp/v2/downloads/?filter[product]=Pico

Screenshot

当尝试在我的Angular应用程序中请求数据时,响应正文为空。

响应 _身体 : " []" 头 : 头 好 : 真正 状态 : 200 状态文本

有谁知道为什么会这样?

http get的代码:

getProductDownloads($id): Observable<any> {

    this.ProductsDownloads = this.http.get(this.wpurl + 'downloads/?filter[product]='+$id)
        .map(res => {
            console.log('GET DOWNLOAD',res)
            return this.ProductsDownloads = this.extractData(res)
        })
        .catch(this.handleError);

    return this.ProductsDownloads;
}

1 个答案:

答案 0 :(得分:0)

您想要返回Observable本身:

getProductDownloads($id): Observable<any> {
  return this.http.get(this.wpurl + 'downloads/?filter[product]='+$id)
    .map(res => {
        console.log('GET DOWNLOAD',res)
        return this.ProductsDownloads = this.extractData(res)
    })
    .catch(this.handleError);
}

然后,当您调用它时,订阅到Observable。

// I'm using "this" here, but if you have it in a -service- you'd put that there
this.getProductDownloads(id).subscribe(result => {
   this.products = result;
});

此外,您可以通过以下方式执行此操作,并在模板中加入| async管道,而不是手动订阅&amp;退订。

this.products = this.getProductDownloads(id);

// template:
{{ products | async }}