[英]Ionic 2 : Get the header of a response in http request
当我在Ionic 2 / Angular 2中请求带有http的API时,我想获得有关响应的一些信息。诸如响应时间,响应大小等信息。
我使用此代码:
let url : "[myUrl]";
this.http.get(url).map(res => res.json()).subscribe(res => {
console.log(res);
});
我想获取响应头。
有人知道该怎么做吗? :)
this.http.get(url).map(res => {
console.log(res.headers); // Print http header
return res.json();
}).subscribe(res => {
console.log(res);
});
Angular Http
请求返回一个Observable
,其中包含服务器已传递的所有信息。 因此,您可以从响应中以res.headers
访问headers
。 要获取您可以使用的响应主体的大小,
res.headers.get('Content-Length')
假设这出现在标题中。 因此,它取决于响应携带的信息,而不是角度提供的信息。
响应时间信息取决于您要查找的内容。 对于node.js
服务器响应时间,可以使用此包。 然后作为响应,可以得到response time
res.headers.get('X-Response-Time')
如果您需要总响应时间(包括网络延迟),则可以使用JavaScript
计时器并查找请求和响应之间的时间差。
因此,您要查找的信息主要取决于服务器的响应,而不是角度的。 并且要注意浏览器中的CORS
(响应头中的Access-Control-Expose-Headers
)。 您可以在此处了解有关标题的更多信息。 希望能帮助到你。
您可以。 在map函数中,您可以获得有关HTTP调用的所有信息。 您可以对结果执行任何操作(我仅添加了console.log)
this.http.get(url).map(res => {
console.log(res); // Print http details
return res.json();
}).subscribe(res => {
console.log(res);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.