0

我有一个 XHR 请求。我想了解从发送请求到获得响应需要多少时间。我想说它在服务器上花了 X 时间,在网络上花了 Y 时间

4

3 回答 3

1

您可以使用日期对象来获取时间,在发送请求之前,您可以将时间戳存储在变量中,当它返回时(xml.readyState==4 && xml.status==200),您可以获得另一个时间日期对象来获取时间然后拿差价。

使用 IE --> 按 F12 --> 然后网络 --> 捕获网络 --> 您可以看到的每个线程。

于 2013-03-27T16:13:53.290 回答
0
  1. 您可以使用 Chrome 中的开发者工具或 FF 中的 Firebug 来查看您的请求的网络跟踪。
  2. 您还可以查看应用程序的服务器端日志。我使用 log4j,所以很容易看到时间戳。
  3. 如果您只想使用javascript代码来完成此操作,我会说使用console.log. 您可以围绕它创建一个包装器以始终打印日期。如果未定义 console.log,请小心。

这是一个小的 js 包装器:

log : function(message, debugType) {
    var str = new Date().toLocaleTimeString() + ", "
            + ((debugType) ? debugType : "INFO") + ", " + message;
    console.log(str);
}

然后你可以在你的 XHR 之前和之后调用它。

于 2013-03-27T15:58:12.690 回答
0

你可以:

  1. 记录您发起请求的时间并将其存储在变量中
  2. 服务器收到后立即记录时间并将其存储在变量中
  3. 记录服务器完成处理的时间,并将处理开始和结束的时间包含在对客户端的响应中
  4. 记录客户端收到响应的时间。

从这四个时间戳中,您应该能够确定服务器接收请求所用的时间、处理请求所用的时间、客户端接收响应所用的时间以及总时间。

它不会 100% 准确,但会很接近。

于 2013-03-27T15:58:25.790 回答