我的AJAX调用需要多长时间

How long does my AJAX call take?

本文关键字:长时间 AJAX 调用 我的      更新时间:2023-09-26

我想做一些类似的事情

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/>");
    });
});

也就是说,测量AJAX调用在得到响应之前持续的时间。但这个回调函数的打印结果是:

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对象来捕获结束时间。

如果你只是对时间感兴趣,而不想把它保存在某个地方,你可以使用谷歌Chrome的开发者控制台。

按F12,转到"Network"选项卡,执行Ajax调用,您可以看到获得响应所需时间的时间表。

如果您使用firebug调试Javascript代码,请查看控制台。它会告诉你ajax调用需要多少毫秒:)

此外,如果你不使用firebug,你还在等什么?它非常适合调试,可以为您节省大量时间!