javascript - ionic 2 : Get the header of a response in http request

标签 javascript http angular header ionic2

当我在 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,其中包含服务器传递的所有信息。因此,您可以从响应中访问 headers 作为 res.headers。要获取您可以使用的响应主体的大小,

res.headers.get('Content-Length')

假设这存在于 header 中。因此,这取决于响应携带的信息,而不是 Angular 提供的信息。

响应时间信息取决于您要查找的内容。对于 node.js 中的服务器响应时间,您可以使用 this包裹。然后在响应中,响应时间可以通过

获得

res.headers.get('X-Response-Time')

如果您想要总响应时间(包括网络延迟),您将使用 JavaScript 计时器并找出请求和响应之间的时间差。

所以你要找的信息主要是靠服务器响应而不是angular。并注意浏览器中的 CORS(响应 header 中的 Access-Control-Expose-Headers)。您可以了解有关标题的更多信息 here .希望对您有所帮助。

关于javascript - ionic 2 : Get the header of a response in http request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41394756/

相关文章:

angular - 在 Angular 中显示基于查询参数的数据

javascript - 如何检查一个对象是否包含另一个对象?

web-services - Web 服务和 HTTP 协议(protocol) : 404

c# - .NET Microsoft.AspNetCore.Http.Extensions UriHelper.GetDisplayUrl 返回无效的 URI

node.js - 如何解决MSBUILD : error MSB4132 on windows 10?

typescript - 无法将任何路由与子路由和新的 Angular 2 RC1 路由器匹配

javascript - 根据背景颜色更改汉堡菜单的颜色

javascript - this 在 render() 中的一个函数中

javascript - 将 undefined 传递给 React setState 是错误的吗?

linux - 如何控制firefox通过发送POST请求打开URL?