| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 游戏开发 -> 记录一下laravel $request->input无法取到值的问题 -> 正文阅读 |
|
|
[游戏开发]记录一下laravel $request->input无法取到值的问题 |
|
先说结论,一定要注意GET请求用Url Params,POST请求用Body,不要自作聪明在GET请求的Body中塞入参 laravel的Http/Request.php input()? 对于GET请求的入参只看Url Params 抛出问题进入正题,同事A利用guzzle包写了这样的一个请求方法
?sendGetRequest()方法中$query为url带参? $params为Body带参 同事B调用上面的这个方法
并且在http://mydomain.com/myroute对$request->input('keyA')打日志,但惊奇的发现路由到达了但keyA没有记录在日志里。 代码溯源这是为什么呢? 以下是笔者的trace 首先看到vendor/laravel/framework/src/Illuminate/Http/Request.php的input()方法 ?很朴素的2行代码,看不出问题,往下深追。 看到$this->getInputSource()
?可以看到? 如果请求方式为GET则取url带参,否则取Body带参 看回input()方法, 将getInputInstance的返回值套入其中,此时也就等同于下述代码
所以此时$input = $this->query->all(),也就是说只有url带参被取出来了,Body带参被略过了!!! |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/3 16:40:20- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |