ajax response byte size

安稳与你 提交于 2019-11-27 06:25:00

问题


I'm using jQuery's getJSONP and I want to log the duration of the call and the size of the response to be able to have some statistics about the usage of my application. This is a cross domain ajax call, so I need to use JSONP, but as the JSONP call is not done with an XMLHttpRequest object, the complete callback from jquery's ajax doesn`t pass the response content.

So my question is how to get the response size (content lenght) from a JSONP call.

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

here x is a XMLHttpRequest object for a JSON call , but for JSONP call is undefined.


回答1:


you can get the "Content-Length" of the response header:

var contentsize;
$.ajax('url', function(data, textstatus, request) {
    contentsize = request.getResponseHeader("Content-Length") / 1024;
    //do stuff with your data
});



回答2:


$.ajax('url',function(data,textstatus,request)
{
     var totalBytes  = request.getResponseHeader('Content-length');

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


来源:https://stackoverflow.com/questions/2645504/ajax-response-byte-size

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!