laravel 请求request 接收参数
获取请求输入
获取所有输入值
你可以使用 all 方法以数组格式获取所有输入值:
$input = $request->all();
获取单个输入值
使用一些简单的方法,就可以从 Illuminate\Http\Request 实例中访问用户输入。你不需要关心请求所使用的 HTTP 请求方法,因为对所有请求方式的输入都是通过 input 方法获取用户输入:
$name = $request->input('name');
你还可以传递一个默认值作为第二个参数给 input 方法,如果请求输入值在当前请求未出现时该值将会被返回:
$name = $request->input('name', 'Sally');
处理表单数组输入时,可以使用”.”来访问数组输入:
$input = $request->input('products.0.name');
$names = $request->input('products.*.name');
通过动态属性获取输入
此外,你还可以通过使用 Illuminate\Http\Request 实例上的动态属性来访问用户输入。例如,如果你的应用表单包含 name 字段,那么可以像这样访问提交的值:
$name = $request->name;
使用动态属性的时候,Laravel 首先会在请求中查找参数的值,如果不存在,还会到路由参数中查找。
获取JSON输入值
发送JSON请求到应用的时候,只要 Content-Type 请求头被设置为 application/json,都可以通过 input 方法获取 JSON 数据,还可以通过“.”号解析数组:
$name = $request->input('user.name');
获取输入的部分数据
如果你需要取出输入数据的子集,可以使用 only 或 except 方法,这两个方法都接收一个数组或动态列表作为唯一参数:
$input = $request->only(['username', 'password']);
$input = $request->only('username', 'password');
$input = $request->except(['credit_card']);
$input = $request->except('credit_card');
only 方法返回你所请求的所有键值对,即使输入请求中不包含你所请求的键,当对应键不存在时,对应返回值为 null,如果你想要获取输入请求中确实存在的部分数据,可以使用 intersect 方法:
$input = $request->intersect(['username', 'password']);
判断输入值是否存在
判断值是否在请求中存在,可以使用 has 方法,如果值出现过了且不为空,has 方法返回 true:
if ($request->has('name')) {
//
}
laravel 请求request 接收参数的更多相关文章
- Request 接收参数乱码原理解析三:实例分析
通过前面两篇<Request 接收参数乱码原理解析一:服务器端解码原理>和<Request 接收参数乱码原理解析二:浏览器端编码原理>,了解了服务器和浏览器编码解码的原理,接下 ...
- Request 接收参数乱码原理解析二:浏览器端编码原理
上一篇<Request 接收参数乱码原理解析一:服务器端解码原理>,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“C ...
- Request 接收参数乱码原理解析一:服务器端解码原理
“Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true ...
- Request 接收参数乱码原理解析
起因: 今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为“GB2312”编码: &l ...
- 详细解析ASP.NET中Request接收参数乱码原理
起因:今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为“GB2312”编码: < ...
- 处理request接收参数的中文乱码的问题:
Ø POST的解决方案: * POST的参数在请求体中,直接到达后台的Servlet.数据封装到Servlet中的request中.request也有一个缓冲区.request的缓冲区也是ISO-88 ...
- 对小程序的网络请求的封装 wx.request 接收参数修改
wepy-mall/wxRequest.js at master · dyq086/wepy-mall https://github.com/dyq086/wepy-mall/blob/master/ ...
- WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
事故现场 报错"从客户端 中检测到有潜在危险的Request.Form值" //后台代码 namespace Test { [RoutePrefix("TestClass ...
- asp.net Get和Post传参和接收参数
asp.netGet和Post传参和接收参数 Get请求: 对于传参:test.aspx?name=%e5%bc%a0%e4%b8%89 接收参数的方法: Request.QueryString[&q ...
随机推荐
- Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载
[声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...
- .net core2.0添加json文件并转化成类注入控制器使用
上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢?经过钻研,办法有了. 既然一个一个读取比较麻烦,那么可以把它放入 ...
- Angular5 宏观把控
1.首先,Angular5相对于Angular4有了一些新的特性: (1)i18n国际化管道: (2)一个组件可以以多个名称导出: (3)使用httpClient: 相比于http,httpClien ...
- hashmap,hashTable concurrentHashMap 是否为线程安全,区别,如何实现的
线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多 ...
- ResultSet只返回一行数据的原因
写之前,先告戒一下自己......写代码一定要细心,自己写的即使是非常简单的地方也要细心,不能自我感觉太良好,那往往可能会有些bug在等着你...... 注意事项: 1.当你为了查看数据库中是否存在某 ...
- Docker 多主机网络总结(非常全)
PS:文章首发公众号,欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 上篇文章介绍了容器网络的单主机网络,本文将进一步介绍多 ...
- 安装ubuntu系统及ubuntu安装Python的几点心得
一.安装ubuntu系统 1.ubuntu系统是Linux系统的一种,和centos差别不大,但是个人还是建议大家安装ubuntu,它更适合国内使用习惯,换句话说更亲切. 2.安装方法不再赘述,网上有 ...
- CentOS7 安装 MySQL
一.首先检查 MySQL 是否已安装 yum list installed | grep mysql 如果有的话 就全部卸载 yum -y remove +数据库名称 二.MySQL 依赖 libai ...
- 一个比ack速度快n倍的代码搜索工具: ag
一个比ack速度快n倍的代码搜索工具: ag 银搜索者(The Silver Searcher) 一个类似于代码搜索工具ack,着重于速度. Github: https://github.com ...
- golang自定义路由控制实现(二)-流式注册接口以及支持RESTFUL
先简单回顾一下在上一篇的文章中,上一篇我主要是结合了数组和Map完成路由映射,数组的大小为8,下标为0的代表Get方法,以此类推,而数组的值则是Map,键为URL,值则是我们编写对应的接口.但 ...