【问题标题】:Refused to get unsafe header "Content-Length"拒绝获取不安全的标头“Content-Length”
【发布时间】:2017-01-22 15:56:32
【问题描述】:

谁能帮忙?

我是新手

function getFileSize(url, callback) {
        var request = new XMLHttpRequest();
        //get only header.
        request.open("HEAD", url, true);
        request.onreadystatechange = function() {
            if (this.readyState == this.DONE) {
                callback(parseInt(request.getResponseHeader("Content-Length")));
            }
        };
        request.send();
    }

拒绝获取不安全的标头“Content-Length”

那行给了我一个错误>> allback(parseInt(request.getResponseHeader("Content-Length")));在控制台中

谁能帮忙?

【问题讨论】:

标签: javascript header http-headers xmlhttprequest


【解决方案1】:

你的 JavaScript 没问题。这是一个 CORS 问题。你可以从这个答案here了解更多。

如果您可以在源中修改标头,则需要包含 Access-Control-Expose-Headers 标头。你可以阅读更多关于here的信息。

【讨论】:

  • 是的,我发现这是 CORS 问题,但我不明白如何解决它
  • 如果您可以修改来自源的标头然后添加此 => developer.mozilla.org/en-US/docs/Web/HTTP/…
  • 实际上我无法从另一台不是我的服务器获取该文件,它的 vk 音乐
  • 似乎你最后剩下的选择是在 vk 音乐和你自己之间创建一个代理。因此,您将从自己的服务器请求此信息,然后您的服务器将向 vk music 发送请求并从那里提取您想要的标头。届时,您将完全控制响应。
  • 是的,但是代理有点慢
猜你喜欢
  • 2014-07-07
  • 2023-02-24
  • 2013-05-06
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 2017-12-28
相关资源
最近更新 更多