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

AEM Servlet请求跳转至login.html:前端Axios配置排查求助

前端Axios请求Servlet的错误排查与修正

先梳理你代码里的几个关键问题:

  • 错误携带CORS响应头:Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers这些是服务器返回给浏览器的响应头,前端发起请求时不需要携带,属于冗余无效配置,反而可能干扰请求正常发送。
  • Cookie配置位置错误:axios中Cookie不能作为顶级配置项,必须放在headers对象内;若你是从Postman复制的Cookie,需手动写入headers.Cookie字段,仅靠withCredentials: true无法自动携带非当前域的Cookie。
  • GET请求不必要的Content-type头:GET请求没有请求体,设置Content-type: application/json毫无意义,甚至可能让服务器对请求产生误解。
  • Promise链式调用逻辑错误:catch的第二个回调参数多余,且该回调中引用的response未定义,会引发报错;同时await与.then/.catch混写易造成逻辑混乱,建议统一风格。

修正后的代码示例

try {
  const response = await axios.get(url, {
    headers: {
      'Accept': '*/*',
      'Authorization': 'Basic YWRtaW46YWRtaW4=',
      'Cookie': "cq-authoring-mode=TOUCH;"
    },
    withCredentials: true,
    params: {
      path: rootPath,
      maxCount: sourceMax
    }
  });
  console.log(response);
} catch (err) {
  console.log(err);
}

额外验证点

  1. 打开浏览器控制台的Network面板,对比前端请求与Postman请求的Headers,确认是否存在其他差异(比如User-Agent),可将Postman的请求头全部复制到axios中测试。
  2. 检查请求的响应状态码,若出现401/403,需确认Authorization头是否正确;若出现CORS相关错误,需再次验证服务器的CORS配置是否包含Access-Control-Allow-Credentials: true。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:31:01