我有一个XHR请求。我想了解从发送请求到获得响应需要多少时间。我想说它在服务器上花费了X时间,在网络上花费了Y时间
您可以使用date对象来获取时间,在发送请求之前,您可以将时间戳存储在变量中,当它返回(xml)时。readyState = = 4,,Xml.status ==200),您可以获取另一个时间日期对象来获取时间,然后取其差值。
使用IE ->按F12 ->然后网络->捕获网络->你可以看到的每一个线程
你可以:
- 记录您发起请求的时间并将其存储在变量 中
- 记录服务器接收到的时间并将其存储在变量 中
- 记录服务器完成处理的时间,并在对客户端的响应中包含处理开始和结束的时间
- 记录客户端收到响应的时间。
从这四个时间戳中,您应该能够确定服务器接收请求花了多长时间,处理请求花了多长时间,客户端接收响应花了多长时间以及总时间。
不会100%准确,但会很接近。
- 可以使用Chrome中的开发工具或FF中的Firebug来查看网络跟踪您的请求。
- 您还可以查看应用程序的服务器端日志。我使用log4j,所以很容易看到时间戳
- 如果你想使用仅javascript代码来完成这一点,我会比如用
console.log
。您可以在它周围创建一个包装器一定要打印日期。如果console.log没有定义,请小心。
这是一个小js包装器:
log : function(message, debugType) {
var str = new Date().toLocaleTimeString() + ", "
+ ((debugType) ? debugType : "INFO") + ", " + message;
console.log(str);
}
然后你可以在XHR之前和之后调用它