[英]Angular response headers value
我收到来自Angular的WP Rest Api的请求
服务
get(): Observable<any>{
return this.http.get<any>('mysite.com/posts?categories=4&per_page=2'));
}
app-component.ts
ngOnInit() {
this.RestApi.get()
.subscribe(
e => {
console.log(e);
console.log('headers: ' + e.headers);
});}
响应
DevTools-网络 1 : https : //i.stack.imgur.com/HBI7i.png
DevTools-控制台:
(2) [{…}, {…}]
0: {id: 100, date: "2018-02-27T18:38:59", ...}
1: {id: 98, date: "2018-02-27T18:38:34", ...}
length: 2__proto__: Array(0)
headers: undefined
那么,为什么在网络中可以看到响应标题,而在控制台中却没有定义? 如何获得“ X-WP-TotalPages”的价值? 我做错了什么?
谢谢! 希望对您有所帮助:)
http.get(...)
完全不返回带有headers
属性的对象。
https://angular.io/api/common/http/HttpClient#get
如果使用observe
选项,您将获得完整的响应,如下所示:
this.http.get<Config>('mysite.com/posts?categories=4&per_page=2', { observe: 'response' });
您将需要在您的http.get
方法中传递{ observe: 'response' }
http.get
{ observe: 'response' }
选项,以便它可以返回类型为HttpResponse
的Observable而不是返回JSON数据。
要显示每个标题,您可以执行以下操作
this.RestApi.get()
.subscribe(
e => {
console.log(e);
// debugger;
this.headers = e.headers.keys().map(key =>
console.log(`${key}: ${e.headers.get(key)}`));
});
}
另外,您可以在代码中设置调试器(取消注释该行),以便浏览器将在该行处中断,然后可以根据需要检查值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.