我尝试使用 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
有帮助吗?

解决方案

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

这在所有浏览器中都应该失败,除非您在浏览器中明确允许跨域请求。如果 bit.ly 通过以下方式支持跨域请求 W3C 规范 对于 Access-Control-Allow-Origin 那么您的代码就可以工作。

其他提示

您不能做跨域XHR。使用Web编程语言如JSP / Python的/ PHP /红宝石/等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top