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

如何调试Laravel中Ajax请求返回非预期302重定向的问题

排查步骤按优先级依次执行:

  • 第一步:验证路由注册与匹配优先级

    先执行命令php artisan route:list,查看输出列表中是否存在GET /about-info对应的路由条目,确认控制器关联正确。
    另外检查web.php中该路由的定义位置,不能放在通配符路由(例如Route::get('/{param}', ...))、带前缀的路由分组之后,Laravel路由采用"先匹配先生效"规则,前面的通配路由会拦截该请求。

  • 第二步:清除路由缓存

    若你之前开启过路由缓存,修改web.php后不会自动生效,执行命令php artisan route:clear清除缓存后重试请求。

  • 第三步:排查隐式中间件

    Laravel默认会给web.php下的所有路由绑定web中间件组,不需要你主动配置:

    1. 检查app/Providers/RouteServiceProvider.php中web路由组的中间件配置,确认是否额外加了auth类中间件
    2. 检查CMSController的构造方法、以及它继承的父控制器中,是否写了$this->middleware('auth')这类配置
    3. 打开开发者工具的网络面板,查看302响应的Location头指向的地址,如果是登录页,则100%是auth中间件拦截导致的
  • 第四步:校验请求地址一致性

    确认axios请求的地址和路由定义完全一致:

    1. 不要出现尾斜杠差异(比如请求/about-info/带斜杠,路由定义是/about-info,默认会触发302重定向到无斜杠地址)
    2. 确认站点路径配置正确,没有多出来的前缀路径
  • 第五步:隔离业务逻辑影响

    临时注释aboutInfo方法内的数据库查询逻辑,直接返回固定字符串return 'test';,如果还是返回302,说明问题完全出在路由/中间件层面,和控制器业务逻辑无关。


内容的提问来源于stack exchange,提问作者Artur Müller Romanov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:54:03