ajax响应字节大小

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

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

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

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

你可以获得响应头的“Content-Length”:

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