Javascript 对铬的头部HTP要求

Javascript 对铬的头部HTP要求,javascript,ajax,google-chrome,xmlhttprequest,google-chrome-extension,Javascript,Ajax,Google Chrome,Xmlhttprequest,Google Chrome Extension,我试图通过Chromium中的XMLHttpRequest获取HEAD响应,以检索压缩URL的位置URL,但失败: var ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { if (ajax.readyState == 4) alert(ajax.getResponseHeader("Location")) }; ajax.open('HEAD', "http://bit.ly/4Agih5", false);

我试图通过Chromium中的XMLHttpRequest获取HEAD响应,以检索压缩URL的位置URL,但失败:

var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function() { if (ajax.readyState == 4) alert(ajax.getResponseHeader("Location")) };
ajax.open('HEAD', "http://bit.ly/4Agih5", false);
ajax.send();

// Refused to get unsafe header "Location"
// Error: NETWORK_ERR: XMLHttpRequest Exception 101

您不能进行跨域XHR。使用JSP/Python/PHP/Ruby/etc等web编程语言。

正如Mohamed所指出的,您必须在承载页面的同一站点上创建代理服务,因为这是一个跨域请求


这在所有浏览器中都会失败,除非您在浏览器中明确允许跨域请求。如果通过for Access Control Allow Origin的bit.ly支持的跨域请求,则您的代码可以工作。

这只在Chrome上失败?我不太确定你是否能跨域完成你正在尝试的任务。当谈到W3C访问控制规范时,你的语言有点奇怪。您还提到了一个不存在的标题(
Access Control Allow Max Age
),而实际上您想谈论的是
Access Control Allow Origin
。为您(以及后面的人)修复了它