javascript - 如何通过javascript获取 'Content-Length'?

标签 javascript

我有以下代码片段:

var size;
function getImageSize(url) 
{
    var xhr = new XMLHttpRequest();
    xhr.open('HEAD', url, true);
    xhr.onreadystatechange = function() 
    {
        if (xhr.readyState == 4) 
        {
            if (xhr.status == 200) 
            {
                size = xhr.getResponseHeader('Content-Length');
                alert(size);
            }
        }
    };
    xhr.send(null);
    return size;
}

该函数的目的是返回(图像的)文件大小。

函数内的警报将始终返回正确的值,但函数本身将始终返回undefined。为什么?

奇怪的是,如果我用 firebug 调试它,该函数总是会正确返回...

最佳答案

这是因为函数在返回响应和设置 size 之前返回。即异步执行。您希望传递一个回调函数,并以 size 作为参数来应用它。

关于javascript - 如何通过javascript获取 'Content-Length'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414570/

相关文章:

javascript - 将 JQuery UI 对话框定位在单击的链接附近

javascript - 增加小数但位置正确

javascript - 通过 Vuejs 和 axios 向 laravel 后端提交 post 请求

javascript - 如何为成员函数设置事件监听器回调

javascript - 经纬度和坐标格式的区别

javascript - 根据 data-* 属性过滤选择选项

javascript - 在 CKEditor 上显示代码删除 abbr 标签

php - 下拉列表中页面加载时已选择的选项,也可更改

javascript - 有没有办法计算 TypeScript 数组中某个值出现的次数?

php - 如何将关联数组的 PHP 数组传输到 javascript?