我想做点什么
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
这是什么解决方案?
答案 0 :(得分:6)
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/>");
});
});
答案 1 :(得分:1)
我不是Javascript专家,但在我看来,你正在创建一个Date
对象(如果它类似于Java的Date对象)将日期/时间存储在它创建的位置,然后两次使用相同的日期对象 - 即将开始日期/时间与自身进行比较。
尝试在AJAX回调函数中创建第二个Date
对象以捕获结束时间。
答案 2 :(得分:0)
如果您只是对时间感兴趣,而不将其保存在某个地方,则可以使用Google Chrome的开发者控制台。
按F12,转到“网络”标签,执行Ajax通话,您可以看到获取响应需要多长时间的时间表。
答案 3 :(得分:0)
如果您使用firebug调试您的Javascript代码,请查看控制台。它会告诉你ajax调用需要多少毫秒:)
此外,如果您不使用 firebug ,还等什么呢?它非常适合调试,可以为您节省大量时间!