1 获取请求

1.1 获取请求的 URI
1>path 方法会返回请求的 URI。所以,如果接收到的请求目标是 http://domain.com/foo/bar,那么 path 方法就会返回 foo/bar:
$uri = $request->path();
2>is 方法可以验证接收到的请求 URI 与指定的规则是否相匹配。使用此方法时你可以将 * 符号作为通配符:
if ($request->is('admin/*')) { // }
3>使用 url 方法,可以获取完整的网址:
$url = $request->url();
1.2 获取请求的方法
method 方法会返回此次请求的 HTTP 动作。也可以通过 isMethod 方法来验证 HTTP 动作和指定的字符串是否相匹配:
$method = $request->method(); if ($request->isMethod('post')) { // }
 

2 获取输入数据

2.1 获取特定输入值
$name = $request->input('name');
2.2 此外,可以使用 Illuminate\Http\Request 的属性访问用户输入。
$name = $request->name;
2.3 当请求的输入数据不存在于此次请求时,就会返回默认值(input的第二个参数):
$name = $request->input('name', 'Sally');
2.4 如果是「数组」形式的输入数据,则可以使用「点」语法来获取数组:
$input = $request->input('products.0.name');
2.5 确认是否有输入值,使用 has 方法。当该数据存在并且字符串不为空时,has 方法就会传回 true:
if ($request->has('name')) { // }
2.6 获取所有输入数据:
$input = $request->all();
2.7 获取部分输入数据
如果你想获取输入数据的子集,则可以使用 only 及 except 方法。这两个方法都接受单个数组或是动态列表作为参数:
$input = $request->only(['username', 'password']); $input = $request->only('username', 'password'); $input = $request->except(['credit_card']); $input = $request->except('credit_card');
 

3 旧输入数据

Laravel 可以让你将本次的输入数据保留,它只在下一次的请求内有效.可以使用 flash 方法保存 session,将数据保留到下个 HTTP 请求,然后就会被自动删除,这对于在表单验证失败后重新填入表单值相当有用.
3.1 将输入数据闪存至 Session
1> flash 方法会将当前的输入数据存进session中,所以下次用户发出请求至应用程序时就可以使用它们:
$request->flash();
2> 你也可以使用 flashOnly 及 flashExcept 方法将请求数据的子集保存至 Session:
$request->flashOnly('username', 'email'); $request->flashExcept('password');
3> 闪存输入数据至 Session 后重定向
return redirect('form')->withInput(); return redirect('form')->withInput($request->except('password'));
3.2 获取旧输入数据
注意上面两种闪存方式使用session('username')是拿不到数据的,若要获取上一次请求后所闪存的输入数据,则可以使用 Request 实例中的 old 方法,
$username = $request->old('username');
Laravel 也提供了全局辅助函数 old。如果你要在Blade模板中显示旧输入数据,可以使用更加方便的 old 辅助函数:
{{old('username')}}
 
举例:登录操作
登录失败,再次跳转到登录页面,此时我们不做任何操作,其实后台已经发送了一次请求到/user/login,进行登录失败的跳转操作,此时闪存内容还存在.
我们再次刷新页面,会再次产生一次请求,此时闪存内容就不存在了
 
 
 
 
 

laravel5.2总结--请求的更多相关文章

  1. 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

    如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求.  -- CORS简单请求 -- ...

  2. laravel5.7 前后端分离开发 实现基于API请求的token认证

    最近在学习前后端分离开发,发现 在laravel中实现前后台分离是无法无法使用 CSRF Token 认证的.因为 web 请求的用户认证是通过Session和客户端Cookie的实现的,而前后端分离 ...

  3. 【VUE+laravel5.4】vue给http请求 添加请求头数据

    1.适用于 ajax和普通的http请求 2.vue添加用法如下: <script type="text/javascript src="/dist/js/app.min.j ...

  4. Laravel5.1 请求

    这篇主要说说Request 每当用户访问我们的网站功能时都会用到它 我们可以使用Request中的一些数据来做出适当的相应. 1 常用的属性和方法 我们可以从Request中取到一些重要属性来做一些逻 ...

  5. Laravel5.1学习笔记9 系统架构1 请求生命周期 (待修)

    Request Lifecycle Introduction Lifecycle Overview Focus On Service Providers Introduction When using ...

  6. Laravel5.1学习笔记5 请求

    HTTP 请求 #取得请求实例 #基本的请求信息 #PSR-7 请求 #取出输入数据 #旧的输入 #Cookies #文件 #取得请求实例(此部分文档5.1完全重写,注意) 要通过依赖注入获取当前HT ...

  7. laravel5.8ajax请求auth认证返回302的解决方法。

    注册 /app/Http/Controller/Auth/RegisterController.php <?php namespace App\Http\Controllers\Auth; us ...

  8. Laravel5.0学习--03 Artisan命令

    本文以laravel5.0.22为例. 简介 Artisan 是 Laravel 内置的命令行接口.它提供了一些有用的命令协助您开发,它是由强大的 Symfony Console 组件所驱动.利用它, ...

  9. Laravel5.0学习--02 实例进阶

    本文以laravel5.0.22为例. 本节以新建一个简单的博客作为实例. 准备工作 数据库配置 .env文件(也可以直接修改config/database.php) DB_HOST=localhos ...

随机推荐

  1. JQuery初识(二)

    一丶链式编程 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. 【Python】python2 html safe string

    import cgi s = '<>&' s += u'哈哈' print type(s) print s r = cgi.escape(s) print type(r) prin ...

  3. String对象中常用的方法有哪些?

    1.length()字符串长度 String str="abc"; System.out.println(str.length()); //输出3 2.charAt()截取一个字符 ...

  4. 【web】movie review——静态页面训练、css训练

    实现样式要求: image: banner.png: generaloverview.png: background.png: bannerbackground.png: rottenbig.png: ...

  5. python 多线程 生产者消费者

    import threading import time import logging import random import Queue logging.basicConfig(level=log ...

  6. Netweaver和CloudFoundry里的trace开关

    Netweaver 事务码SU01的参数设置里,有很多关于trace(跟踪)的开关. FPTRACELEVEL: 设成04后,能将ADS生成PDF的trace信息写入生成的PDF. 详细原理参考我的b ...

  7. 前台使用load一个集合后台接受的方法

    前台: var imageCaseList = []; }; imageCaseList.push(data); $('#showData').load(url, { querys: imageCas ...

  8. 项目:Vue+node+后台管理项目小结

    序:本文主要分两块说:项目机制,具体用到的知识块. 1. 项目机制 项目的原型以vue-cli为原型,进行项目的初步构建.项目以node.js服务和webpack打包机制为依托,将.vue文件打包为浏 ...

  9. vue学习之路 - 2.基本操作(上)

    基本操作(上) 本章节简介: vue的安装 vue实例创建 数据绑定渲染 表单数据双向绑定 事件处理 安装 安装方式有三种: 一.vue官网直接下载 http://vuejs.org/js/vue.m ...

  10. Drop it-freecodecamp算法题目

    Drop it 1.要求 丢弃数组(arr)的元素,从左边开始,直到回调函数return true就停止. 第二个参数,func,是一个函数.用来测试数组的第一个元素,如果返回fasle,就从数组中抛 ...