Search code examples
jqueryajaxtimerequestresponse

How do I get the response time from a jQuery ajax call?


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

Solution

  • 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.