javascript - XHR HEAD 请求是否可以不遵循重定向(301 302)

标签 javascript ajax google-chrome xmlhttprequest

是否可以发送 xhr HTTP HEAD 请求以仅获取第一个请求的 header 响应,而不自动遵循 301、302(如重定向)?我只对获取 url 的新位置感兴趣。示例:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
    if (xhr.readyState == 4) {
        if (xhr.status == 301 || xhr.status == 302) {
            // Get new location url don't GET it
        }
    }
};
xhr.open('HEAD', url, true);
xhr.send();

http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send-method似乎指定应遵循请求,有办法阻止这种情况吗?

最佳答案

不存在,这不是您可以阻止的暴露行为。

这是因为 the spec you linked already ,指定的行为是 XmlHttpRequest 应透明地遵循重定向...不幸的是,在幕后,而不是以您可以阻止的方式。

如果资源移动等,这种方式可以尝试让事情变得更容易......但是当它被设计和规范制定时,所有这些重定向服务都不存在。只是没有强烈需要任何其他行为或能力来阻止它,我认为随着大量的重定向到达网络,我们不会看到添加的功能,但谁知道什么时候每个浏览器都会支持它。

关于javascript - XHR HEAD 请求是否可以不遵循重定向(301 302),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820663/

相关文章:

javascript - 在 jQuery AJAX 中使用异步选项

javascript - jQuery AJAX 调用返回 [object Object]

jquery - 使用动态内容保持页脚向下

html - 为什么 Chrome 浏览器中的翻译会禁用网页中的提交按钮?

google-chrome - 如何使用元标记防止在谷歌浏览器中缓存

javascript - CoffeeScript 代码覆盖率

JavaScript:如何在 GridView 中查找 RadioButtonList

javascript - Kendo UI Scheduler 未正确绑定(bind)资源

Javascript 在 Chrome 扩展中打开多个选项卡

javascript - onclick 永久更改 html 标题的边框颜色,直到单击另一个标题