我知道我可以使用类似
之类的东西计算$ .ajax调用时间var ajaxTime= new Date().getTime();
$.ajax({
type: "POST",
url: "some.php",
}).done(function () {
var totalTime = new Date().getTime()-ajaxTime;
// Here I want to get the how long it took to load some.php and use it further
});
但是,我希望有一种通用的方法来获取我所做的任何$ .ajax调用的加载时间,而不会将Date()
添加到特定的ajax调用。我有办法做到吗?
由于
答案 0 :(得分:0)
您是否只是出于调试目的而这样做?如果是这样,Fiddler是一个很好的工具,可以准确显示ajax调用的运行时间
答案 1 :(得分:0)
您可以使用全局事件来执行此操作,使用.ajaxSend()和.ajaxComplete()处理程序
$(document).ajaxSend(function (event, jqXhr, opts) {
jqXhr._start = new Date().getTime();
});
$(document).ajaxComplete(function (event, jqXhr, opts) {
var end = new Date().getTime();
console.log('Time taken:', opts.url, end - jqXhr._start)
});
演示:Fiddle
或者您可以使用任何网络监控工具,例如浏览器开发人员工具中的网络选项卡。