ajax响应字节大小

时间:2010-04-15 13:11:09

标签: javascript jquery size response jsonp

我正在使用jQuery的getJSONP,我想记录调用的持续时间和响应的大小,以便能够获得有关我的应用程序使用情况的一些统计信息。 这是一个跨域的ajax调用,所以我需要使用JSONP,但是由于没有使用XMLHttpRequest对象进行JSONP调用,因此来自jquery的ajax的完整回调不会传递响应内容。

所以我的问题是如何从JSONP调用中获取响应大小(内容长度)。

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

这里x是用于JSON调用的XMLHttpRequest对象,但是对于JSONP调用是未定义的。

2 个答案:

答案 0 :(得分:6)

你可以获得" Content-Length"响应标题:

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

答案 1 :(得分:1)

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

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