3

我正在尝试使用 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
4

2 回答 2

4

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

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

于 2010-04-09T10:52:56.730 回答
1

您不能进行跨域 XHR。使用 Web 编程语言,如 JSP/Python/PHP/Ruby/etc..

于 2010-04-08T22:18:40.193 回答