拒绝获取不安全的标头“Content-Length”
Posted
技术标签:
【中文标题】拒绝获取不安全的标头“Content-Length”【英文标题】:Refused to get unsafe header "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();
那行给了我一个错误>> allback(parseInt(request.getResponseHeader("Content-Length")));在控制台中
谁能帮忙?
【问题讨论】:
无论如何都没有内容/长度来引导请求...... 是的。在这里阅读。 w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13 【参考方案1】:你的 javascript 没问题。这是一个 CORS 问题。你可以从这个答案here了解更多。
如果您可以在源中修改标头,则需要包含 Access-Control-Expose-Headers 标头。你可以阅读更多关于here的信息。
【讨论】:
是的,我发现这是 CORS 问题,但我不明白如何解决它 如果您可以修改来自源的标头然后添加此 => developer.mozilla.org/en-US/docs/Web/HTTP/… 实际上我无法从另一台不是我的服务器获取该文件,它的 vk 音乐 似乎你最后剩下的选择是在 vk 音乐和你自己之间创建一个代理。因此,您将从自己的服务器请求此信息,然后您的服务器将向 vk music 发送请求并从那里提取您想要的标头。届时,您将完全控制响应。 是的,但是代理有点慢以上是关于拒绝获取不安全的标头“Content-Length”的主要内容,如果未能解决你的问题,请参考以下文章
拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”
拒绝获取不安全的标头“x-parse-job-status-id” - Vue.js 和 Parse Server