[英]How long does my AJAX call take?
我想做点什么
var date = new Date();
var pretime = date.getTime();
$.post(
"ajaxfile.php",
object,
function(data) {
var totalTime = date.getTime()-pretime;
$("#feed").append("Time: " + totalTime + "<br/>" + pretime + "<br/>" + date.getTime() + "<br/>");
});
});
也就是说,测量AJAXcall在获得响应之前持续多长时间。 但是这个回调函数的打印是:
Time: 0
1326184886814
1326184886814
这是什么解决方案?
getTime()
返回相同的值,因为您正在重用相同的Date()对象。 您需要创建一个新的Date对象:
var date = new Date();
var pretime = date.getTime();
$.post("ajaxfile.php", object, function(data){
var date2 = new Date();
var totalTime = date2.getTime()-pretime;
$("#feed").append("Time: " + totalTime + "<br/>" + pretime + "<br/>" + date.getTime() + "<br/>");
});
});
我不是Javascript专家,但在我看来,你正在创建一个Date
对象(如果它类似于Java的Date对象)将日期/时间存储在它创建的位置,然后使用相同的日期对象两次 - 即将开始日期/时间与自身进行比较。
尝试在AJAX回调函数中创建第二个Date
对象以捕获结束时间。
如果您只是对时间感兴趣而不将其保存在某个地方,则可以使用Google Chrome的开发者控制台。
按F12,转到“网络”选项卡,执行Ajax调用,您可以看到获取响应所需时间的时间表。
如果您使用firebug调试您的Javascript代码,请查看控制台。 它会告诉你ajax调用需要多少毫秒:)
另外,如果你不使用萤火虫 ,还等什么呢? 它非常适合调试,可以节省大量时间!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.