You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Axios中通过302响应的Location Header重定向到指定URL?

处理302重定向时获取Location头并手动跳转的问题

在浏览器环境下,你用axios写的代码拿不到302响应是因为浏览器自带的XMLHttpRequest会自动跟随302重定向,哪怕你设置了maxRedirects: 0也没用——这是浏览器的默认行为,axios没法绕过。

要实现手动获取Location头并跳转,换用fetch API更靠谱,它支持配置阻止自动重定向:

fetch('url-that-returns-302', { redirect: 'manual' })
  .then(res => {
    if (res.status === 302) {
      const redirectUrl = res.headers.get('Location');
      // 手动跳转到目标页面
      window.location.href = redirectUrl;
    }
  })
  .catch(err => console.error(err));

补充说明

  • 如果是在Node.js环境,你原来的axios代码是有效的,因为Node端的HTTP客户端不会自动跟随重定向,maxRedirects: 0能生效;但浏览器端受限于XHR的机制,必须用fetch的redirect: 'manual'配置。
  • 要确保目标URL的跨域权限符合浏览器CORS规则,否则可能拿不到Location头。

内容的提问来源于stack exchange,提问作者kamolmachine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:22:36