我正在使用jQuery的getJSONP,我想记录调用的持续时间和响应的大小,以便能够获得有关我的应用程序使用情况的一些统计信息。 这是一个跨域的ajax调用,所以我需要使用JSONP,但是由于没有使用XMLHttpRequest对象进行JSONP调用,因此来自jquery的ajax的完整回调不会传递响应内容。
所以我的问题是如何从JSONP调用中获取响应大小(内容长度)。
$.ajaxSetup(
{
complete:function(x,e)
{
log(x.responseText.length, x.responseText);
}
}
这里x是用于JSON调用的XMLHttpRequest对象,但是对于JSONP调用是未定义的。
答案 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;
});