Есть ли способ узнать, сколько времени занимает выполнение вызова JQuery AJAX? - PullRequest
2 голосов
/ 11 августа 2010

Есть ли в любом случае, чтобы узнать, как долго простой метод $ .getJSON вызывает для вызова с использованием какого-либо типа временного кода в jquery / javascript?

Во-вторых, есть ли способ узнать, насколько БОЛЬШОЙ ответ Content-Length, в КБ или мегабайтах?

Ответы [ 4 ]

4 голосов
/ 11 августа 2010

Если вы хотите чистый JavaScript, перед отправкой запроса отметьте время, используя new Date().getTime();

Затем в обратном вызове ajax снова запишите время и вычтите первоевремя.Это даст вам продолжительность звонка.

Примерно так:

function aCallback()
{
   window.time2 = new Date().getTime();
   window.alert(window.time2 - window.time1)
}
window.time1 = new Date().getTime();
$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: aCallback
});
2 голосов
/ 11 августа 2010

Попробуйте либо Firebug, либо Fiddler

http://getfirebug.com/

http://www.fiddler2.com/fiddler2/

1 голос
/ 11 августа 2010

Чтобы ответить на второй вопрос, вы можете прочитать заголовок Content-Length из ответа XHR.

var req;
req = $.ajax({
    type: "HEAD",
    url: "/data",
    success: function () {
      alert("Size is " + req.getResponseHeader("Content-Length"));
    }
});
0 голосов
/ 11 августа 2010

Зачем изобретать велосипед?Используйте консоль Firebug, чтобы записать время.Сделайте что-то вроде этого:

function aCallback()
{
   console.timeEnd("ajax call");
   window.alert(window.time2 - window.time1)
}
console.time("ajax call");
$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: aCallback
});

Это будет записывать, сколько времени прошло, пока ответ сервера не вернется к вызову.Время в миллисекундах будет записываться на консоль firebug.

...