繁体   English   中英

我的AJAX通话需要多长时间?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM