0

XHRリクエストが1つあります。リクエストを送信してからレスポンスを受け取るまでにかかった時間を知りたいです。サーバーでX時間、ネットワークでY時間費やしたと言えるようにしたい

4

3 に答える 3

1

日付オブジェクトを使用して時刻を取得できます。リクエストを送信する前にタイムスタンプを変数に保存でき、それが返されたときに (xml.readyState==4 && xml.status==200) 時刻を取得するために別の時刻の日付オブジェクトを取得できますそして差を取る。

IE を使用 --> F12 を押す --> 次にネットワーク --> ネットワークをキャプチャ --> 表示されるすべてのスレッド。

于 2013-03-27T16:13:53.290 に答える
0
  1. Chrome の開発者ツールまたは FF の Firebug を使用して、リクエストのネットワーク トレースを表示できます。
  2. アプリケーションのサーバー側のログを確認することもできます。log4jを使っているのでタイムスタンプが見やすいです。
  3. これを実現するためにJavaScriptコードのみを使用する場合は、 console.log. その周りにラッパーを作成して、常に日付を出力できます。console.log が定義されていない場合は注意してください。

これは小さな js ラッパーです。

log : function(message, debugType) {
    var str = new Date().toLocaleTimeString() + ", "
            + ((debugType) ? debugType : "INFO") + ", " + message;
    console.log(str);
}

次に、XHR の前後に呼び出すことができます。

于 2013-03-27T15:58:12.690 に答える
0

あなたは出来る:

  1. リクエストを開始した時間をログに記録し、変数に保存します
  2. サーバーが受信するとすぐに時間を記録し、変数に保存します
  3. サーバーが処理を終了した時刻をログに記録し、クライアントへの応答に処理の開始時刻と終了時刻を含める
  4. クライアントが応答を受信した時刻を記録します。

これら 4 つのタイムスタンプから、サーバーがリクエストを受信するのにかかった時間、リクエストを処理するのにかかった時間、クライアントが応答を受信するのにかかった時間、および合計時間を判断できるはずです。

100% 正確ではありませんが、ほぼ正確です。

于 2013-03-27T15:58:25.790 に答える