无法解析来自 jquery 中成功的 HTTP HEAD 请求的标头

Unable to parse headers from successful HTTP HEAD request in jquery?

本文关键字:HTTP HEAD 请求 成功 jquery      更新时间:2023-09-26

我使用以下代码来获取 url 的文件大小,调试器显示要使用 HTTP 状态代码 200 执行的请求,返回所有标头,包括"内容长度",但我的代码输出标头的 NULL 值(即使在请求成功后)。

function checkURL(url) {
    try {
        var xhr = $.ajax({
            type: "HEAD",
            url: url,
            async: false,
            success: function (data) {
                result = data;
            }
        });
        console.log('Size :' + xhr.getResponseHeader('Content-Length'));
    } catch (e) {
        console.log('XHR Error :' + e);
    }
}

编辑#1

我测试了下面的代码,它可以工作,但是并非所有标题都显示。HTTP DEBUGGER再次显示难以捉摸的"Content-Length"标头,以响应此XHR。

function checkURL(url) {
try {
    var xhr = $.ajax({
            type : "HEAD",
            url : url,
            complete : function (XMLHttpRequest, textStatus) {
                console.log(XMLHttpRequest.getAllResponseHeaders());

            }
        });

} catch (e) {
    console.log('Check Size XHR Error :' + e);
}
}

你的 HEAD 类型是什么?它必须是 XML 或 JSON !