我正在使用wordpress rest api和angular2来构建简单的单页应用。我用工具集创建了一个自定义帖子类型。一切正常,我可以看到数据恢复正常。
http://tncorp.biffapps.com/wp-json/wp/v2/downloads/?filter[product]=Pico
当尝试在我的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;
}
答案 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 }}