代码之家  ›  专栏  ›  技术社区  ›  Alex Pacurar

Ajax响应字节大小

  •  3
  • Alex Pacurar  · 技术社区  · 16 年前

    我正在使用jquery的getjsonp,我想记录调用的持续时间和响应的大小,以便能够对我的应用程序的使用情况进行统计。 这是一个跨域的Ajax调用,所以我需要使用jsonp,但是由于jsonp调用不是用xmlhttpRequest对象完成的,所以jquery的Ajax的完整回调不会传递响应内容。

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

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

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

    2 回复  |  直到 9 年前
        1
  •  6
  •   Hakan Fıstık MuriloKunze    9 年前

    您可以获得响应头的“内容长度”:

    var contentsize;
    $.ajax('url', function(data, textstatus, request) {
        contentsize = request.getResponseHeader("Content-Length") / 1024;
        //do stuff with your data
    });
    
        2
  •  0
  •   user3483819    10 年前
    $.ajax('url',function(data,textstatus,request)
    {
         var totalBytes  = request.getResponseHeader('Content-length');
    
         //if u are looking for downloaded bytes
         var dlBytes =request.responseText.length; 
    });