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

Laravel环境下Axios发送GET请求params参数未传递到服务端问题

问题原因及解决方案

1. 最常见原因:Web服务器重写规则丢失查询参数

两台服务器的Web服务器(Nginx/Apache)重写配置存在差异,是该问题的最高发诱因,刚好符合你提到的POST请求正常、GET请求参数丢失的特征:

  • Nginx场景下,常见错误配置为location块中的try_files规则缺少查询参数传递项:
# 错误配置:不会将查询参数传递给index.php
try_files $uri $uri/ /index.php;
# 正确配置:末尾加上?$query_string 传递所有查询参数
try_files $uri $uri/ /index.php?$query_string;
  • Apache场景下,检查站点根目录.htaccess文件的重写规则是否带[QSA]标记,该标记用于保证重写时原有查询参数不丢失。

修改配置后重启Web服务即可验证是否恢复。

2. 中间件/请求过滤逻辑差异

  • 检查有问题的服务器运行的Laravel代码分支,是否存在全局中间件修改、过滤了$request的query参数,排查app/Http/Middleware下的全局注册中间件逻辑。
  • 确认服务器是否部署了WAF、反向代理等中间层,是否存在过滤GET参数、未将查询参数透传到后端服务的规则。

3. FastCGI/PHP配置差异

检查有问题服务器的PHP配置:

  • 是否安装了suhosin等安全扩展,配置了参数过滤规则拦截了GET参数
  • php-fpm配置中是否限制了QUERY_STRING的传递

快速验证方法

直接在浏览器地址栏访问你的域名/api/myCall?id=1&name=loser,如果返回结果仍为空,可100%确认问题出在服务端配置,与Axios无关。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:30:03