How do I get the response time from a jQuery ajax call?
38,420
The most simple method would be to add var ajaxTime= new Date().getTime();
before the Ajax call and in the done
get the current time to calculate how long the Ajax call took to make.
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
});
Or in case of you want to know how long time this take on the server side. Do the same and print the time in the return value from some.php.
![Dumpen](https://i.stack.imgur.com/oe6iV.jpg?s=256&g=1)
Author by
Dumpen
Updated on November 17, 2020Comments
-
Dumpen over 3 years
So I am working on tool that can show long a request to a page is taking.
I am doing this by using jQuery Ajax (http://api.jquery.com/jQuery.ajax/) and I want to figure out the best way to get the response time.
I found a thread (http://forum.jquery.com/topic/jquery-get-time-of-ajax-post) which describes using the "Date" in JavaScript, but is this method really reliable?
An example of my code could be this below
$.ajax({ type: "POST", url: "some.php", }).done(function () { // Here I want to get the how long it took to load some.php and use it further });
-
Daniel Böhmer almost 11 yearsYou can use
Date.now()
instead of the longernew Date().getTime()
. It doesn't only save characters but also saves creation of aDate
object. -
Adam Chwedyk about 9 years@DanielBöhmer Regarding
Date.now()
- it's not available in some older browsers (e.g. IE8), you might need a polyfill, see MDN -
Anonymous over 7 yearsdownvoting - won't work for multiple requests