размер байта ответа AJAX - PullRequest
3 голосов
/ 15 апреля 2010

Я использую jQuery getJSONP и хочу записать продолжительность звонка и размер ответа, чтобы иметь возможность получить некоторую статистику об использовании моего приложения. Это междоменный вызов ajax, поэтому мне нужно использовать JSONP, но поскольку вызов JSONP не выполняется с объектом XMLHttpRequest, полный обратный вызов из ajax jquery не передает содержимое ответа.

Поэтому мой вопрос заключается в том, как получить размер ответа (длина содержимого) из вызова JSONP.

$.ajaxSetup(
{
    complete:function(x,e)
    {
         log(x.responseText.length, x.responseText);
    }
}

здесь x - это объект XMLHttpRequest для вызова JSON, но для вызова JSONP не определен.

Ответы [ 2 ]

6 голосов
/ 11 марта 2013

вы можете получить «Content-Length» заголовка ответа:

var contentsize;
$.ajax('url', function(data, textstatus, request) {
    contentsize = request.getResponseHeader("Content-Length") / 1024;
    //do stuff with your data
});
1 голос
/ 16 мая 2016
$.ajax('url',function(data,textstatus,request)
{
     var totalBytes  = request.getResponseHeader('Content-length');

     //if u are looking for downloaded bytes
     var dlBytes =request.responseText.length; 
});
...