web-dev-qa-db-ja.com

jQuery ajax呼び出しから応答時間を取得するにはどうすればよいですか?

そのため、ページへのリクエストに時間がかかっていることを示すことができるツールに取り組んでいます。

私はjQuery Ajax(http://api.jquery.com/jQuery.ajax/)を使用してこれを行っており、応答時間を取得するための最良の方法を見つけたいと考えています。

JavaScriptで「日付」の使用を説明するスレッド(http://forum.jquery.com/topic/jquery-get-time-of-ajax-post)を見つけましたが、この方法は本当に信頼できるのですか?

私のコードの例は次のようになります

$.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
});
18
Dumpen

最も簡単な方法は、Ajax呼び出しの前にvar ajaxTime= new Date().getTime();を追加し、doneに現在の時刻を取得して、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
});

または、サーバー側でこれにかかる時間を知りたい場合。同じことを行い、some.phpからの戻り値に時間を出力します。

37
FIG-GHD742