精华内容
下载资源
问答
  • 在之前路由中配置路由参数,但它并不适合带大量的请求数据。 Route::get('req/{参数名称}', function ($参数名称) { return 'Get 请求'; }); 通常会在请求链接尾部带上参数,例如:...
     
    

    一、简介

    • 在之前路由中配置路由参数,但它并不适合带大量的请求数据。

      Route::get('req/{参数名称}', function ($参数名称) {
          return 'Get 请求';
      });
      
    • 通常会在请求链接尾部带上参数,例如:http://www.dzm.com:8088/req?id=10&name=dzm? 后面附带的参数。

    • Laravel 提供了多种获取数据的方式。

    二、方式一:Input

    • 通过 Input 类来获取数据(use Illuminate\Support\Facades\Input;),这里只列一些常用的。

      // 获取指定参数,并当没传该参数时附带默认值
      Input::get('参数名称', '默认值(当参数没传时生效)');
      
      // 获取所有的用户的输入
      Input::all();
      
      // 获取指定指定参数
      Input::only(['参数名称']);
      
      // 获取除指定指定参数以外的所有参数
      Input::except(['参数名称']);
      
      // 判断是否存在指定参数
      Input::has('参数名称');
      
      ....
      
    • 例如:获取接口中的 id 字段,如果没有默认为 0

      // 例如:http://www.dzm.com:8088/req?id=10
      Route::get('req', function () {
          return Input::get('id', 0);
      });
      
      或者控制器中使用:
      
      public function index() {
        // 可以使用 Input
        return Input::has('id') ? '存在' : '不存在';
      }
      
    • Input 使用注意:

      // 这种写法是错误的,默认带过来的是 Request 对象,而不是 Input
      Route::get('req', function (Input $input)) {
          return $input->get('id', 0);
      });
      
      // 这种写法是正确的,控制器中使用也是一样需要注意这点
      Route::get('req', function (Request $request)) {
          return $request->get('id', 0);
      });
      

    三、方式二:Request

    • 通过 Request 类来获取数据(use Illuminate\Http\Request),这里只列一些常用的。

      // 获取指定参数,并当没传该参数时附带默认值
      Request::get('参数名称', '默认值(当参数没传时生效)');
        
      // 获取所有的用户的输入
      Request::all();
      
      // 获取指定指定参数
      Request::only(['参数名称']);
      
      // 获取除指定指定参数以外的所有参数
      Request::except(['参数名称']);
      
      // 判断是否存在指定参数
      Request::has('参数名称');
      
      // 判断请求类型(当一个接口支持多种请求方式的时候可以进行判断)
      Request::isMethod('请求方式(get、post、put ...)');
      
      ....
      
    • web.php 中使用:

      // 使用 Request:: 不能导入 use Illuminate\Http\Request;
      Route::get('req', function () {
          return Request::has('id') ? '存在' : '不存在';
      });
      
      // 使用 $request 必须导入 use Illuminate\Http\Request;
      Route::get('req', function (Request $request) {
         return $request->has('id') ? '存在' : '不存在';
      });
      
    • 控制器(例如:LoginController.php) 中使用:

      <?php
      
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      use Illuminate\Support\Facades\Input;
      
      class LoginController extends Controller
      {
          // 登录
          public function index(Request $request) {
              // 不能使用 Request:: 会报错,控制器方法中只能使用 $request
              // return Request::has('id') ? '存在' : '不存在';
      
              // 可以使用 Input::
              // return Input::has('id') ? '存在' : '不存在';
      
              // 每个路由对象都会有 $request 对象
              return $request->has('id') ? '存在' : '不存在';
          }
      }
      
    • 路由参数 - 细节注意

      // 如果不需要使用 $request,且有路由参数
      Route::get('req/{tag?}', function ($tag = '') {
          return $tag;
      });
      
      // 如果需要使用 $request,且有路由参数
      Route::get('req/{tag?}', function (Request $request, $tag = '') {
          // return $request->has('id') ? '存在' : '不存在';
          return $tag;
      });
      

    四、方式三:request()

    • request() 辅助函数方式获取,不需要导入任何库或者命名空间,直接使用。

      request() 函数返回的就是 Request 类对象,所以他两的可用方法是一致的。

      // 获取指定参数,并当没传该参数时附带默认值
      request()->get('参数名称', '默认值(当参数没传时生效)');
        
      // 获取所有的用户的输入
      request()->all();
      
      // 获取指定指定参数
      request()->only(['参数名称']);
      
      // 获取除指定指定参数以外的所有参数
      request()->except(['参数名称']);
      
      // 判断是否存在指定参数
      request()->has('参数名称');
      
      // 判断请求类型(当一个接口支持多种请求方式的时候可以进行判断)
      request()->isMethod('请求方式(get、post、put ...)');
      
      ....
      
    • 如果需要这个对象更多的可用方法,可以输出该对象的所有可用方法。

      dump(get_class_methods(request()));
      
    展开全文
  • 请求接口中返回 JSON 数据 Route::get('req', function () { return ['id'=>'0', 'name'=>'dzm']; }); Route::get('req', function () { return response()->json(['id'=>'0', 'name'=>'dzm']);...
    • 在请求接口中返回 JSON 数据

      Route::get('req', function () {
          return ['id'=>'0', 'name'=>'dzm'];
      });
      
      Route::get('req', function () {
          return response()->json(['id'=>'0', 'name'=>'dzm']);
      });
      

    • 修改接口返回状态,之前返回的是 200,有时候可能请求的错误,需要返回对应的错误状态码。

      Route::get('req', function () {
          // 参数1 返回参数
          // 参数2 HTTP状态码,默认为200
          // return response()->json(['id'=>'0', 'name'=>'dzm'], 201);
      });
      

    展开全文
  • Laravel Ajax请求

    千次阅读 2020-04-14 16:02:05
    Laravel Ajax请求总结 Ajax请求方法 1、页面需要添加 <meta name="csrf-token" content="{{ csrf_token() }}"> 2、如果是form表单需要添加 {{ csrf_field() }} 或 <input type="hidden" name="_token" ...

    Laravel Ajax请求总结

    Ajax请求方法

    1、页面需要添加

    <meta name="csrf-token" content="{{ csrf_token() }}">
    

    2、如果是form表单需要添加
    {{ csrf_field() }} 或

    <input type="hidden" name="_token" value="'.csrf_token().'">
    

    3、Ajax请求方法,如下:

    function register() {
    		var name = $('#userName').val();
            var Email = $('#Email').val();
            var unit = $("#university option:selected").val();
            var password = $("#password").val();
            var confirmPsw = $("#confirmPassword").val();
            $.ajax({
                type: "POST",
                url: "{{ url('/resource/register') }}",
                dataType: 'json',
                header: {'X-CRSF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                data: {
                    "name": name,
                    "Email": Email,
                    "unit": unit,
                    "password": password,
                    "confirmPsw": confirmPsw,
                },
                success: function (data) {
                    if(data.code == 'success'){
                        $("#reg_tab").removeClass("active");
                        $("#signin_tab").addClass("active");
                        $("#signup").removeClass("active");
                        $("#signup").removeClass("in");
                        $("#signin").addClass("active");
                        $("#signin").addClass("in");
                    }else{
                        alert('register fail');
                    }
                },
                error: function(request, status, error){
                    alert(error);
                },
            });
        };
    

    4、Ajax请求返回
    return response()->json([‘code’=> ‘success’]);

    Ajax请求注意问题

    1、当采用按钮点击进行Ajax请求,如下:

    <button type="button" id="confirmsignup" name="confirmsignup" class="btn btn-success form-control" onclick="register()">注 册</button>
    

    注意:一定要设置:type=“button”,否则会默认为:type=“submit”,请求完成后会进行页面重定向,进行
    页面刷新

    展开全文
  • 前端请求头中 <meta name="csrf-token" content="{{ csrf_token() }}"> jQuery ajax中 headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},

    前端请求头中

    <meta name="csrf-token" content="{{ csrf_token() }}">

    jQuery ajax中

    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},

     

    展开全文
  • 这里使用GuzzleHttp插件进行接口请求 安装 composer require guzzlehttp/guzzle 我们以一个登陆的post的接口为例: $client =new \GuzzleHttp\Client(); $res = $client->request('POST','XXXXX',['form_...
  • 主要给大家介绍了关于Laravel中GraphQL接口请求频率的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • laravel 接口

    2019-09-27 13:44:17
    // 打印请求头信息// echo curl_getinfo($curl, CURLINFO_HEADER_OUT); // 关闭连接 curl_close($curl); // 返回数据 $row = json_decode($request, true); if (isset($row['data'])) { $...
  • 突然遇到的问题 就是使用Laravel进行开发API接口的时候 发现在表单验证不通过的时候返回了登录页 猜测问题应该是因为表单验证失败后进行了重定向导致的 因为返回状态码200 网上找了好久没找到相关解决方案 只能...
  • laravel接口跨域

    千次阅读 2017-11-06 10:41:43
    项目中用到了接口,外部调用的时候老是请求不到,本地请求却没问题,查了下说是因为跨域的问题。  根据网上所说解决方法如下: 1、  建立中间件Cors.php  命令:php artisan make:middleware Cors  在/app/...
  • 429 Too Many Requests(过多请求) 用户在在指定的时间里发送了太多的请求。用于限制速率。 这是laravel的api访问频率 找出throttle这个中间件,注释掉。429问题解决 ...
  • Laravel 开发学习(八)Laravel HTTP请求

    千次阅读 2018-07-05 15:26:54
    Laravel HTTP请求request类// 返回当前页面的完整路径url: http://xx.com/aa/bb Request::url(); $request-&gt;url() // 路径: /aa/bb Request::path(); $request-&gt;path(); // 获取请求 Uri: /aa/bb/?c=d...
  • laravel 接口访问频繁

    2021-07-09 00:51:49
    我们可以使用laravel 自带的函数来实现 第一个参数代表访问次数 第二个参数表示参数生效的时间,通俗易懂的来说就是一分钟能请求三次接口 //分组路由 Route::group(['middleware'=>['auth:api','throttle:3,1']...
  • 返回请求的路径信息 $url = $request->url();// 不包含查询字符串 $url_with_query = $request->fullUrl();// 包含查询字符串 返回结果 is方法允许你验证请求路径是否与给定模式匹配。该方法参数支持*...
  • laravel 接口跨域

    2018-10-23 18:26:00
    最方便的方法,新建一个middleWare,把这个middleware加入到全局中间件,所有的请求,都会经过这个中间件的过滤。 php artisan make:middleware CrossHttp 然后就会在\app\Http\Middleware\CrossHttp.php这个...
  • laravel接口访问跨域解决

    千次阅读 2018-12-28 17:29:47
    原文:...场景 . laravel作为后端API使用的时候,前端ajax请求的时候 遇到跨域的问题 1 解决 . laravel5.5 barryvdh/laravel-cors 使用方法很简单 1 composer require barryvdh/laravel-cors ap...
  • 随着移动开发和JavaScript框架的兴起,使用RESTful API是在数据和客户端之间构建单一接口的最佳选择。 Laravel是一个PHP框架,并注重开发人员的生产力。 由Taylor Otwell编写和维护,框架非常有意义,并努力通过...
  • Laravel 请求

    2017-04-24 17:04:07
    Laravel 请求
  • 项目中用到了接口,外部调用的时候老是请求不到,本地请求却没问题,查了下说是因为跨域的问题。 根据网上所说解决方法如下:1、 建立中间件Cors.php 命令:php artisan make:middleware Cors 在/app/...
  • laravel中需要处理options请求Route::options('/{all}',function (Request $request) {$origin = $request->header('ORIGIN','*');header("Access-Control-Allow-Origin: $origin");header("Access-Control-...
  • <p>I'm currently writing an API in Laravel, and I've hit a bit of a snag. At the moment I'm focussed on the Authentication part of my api, so I have the following routes: (Via <code>...
  • 今天在学习沈逸老师的 vuejs 视频教程的时候出现一个问题,就是通过 ajax 访问 laravel 服务器的时候跨域的问题,网上已经有人遇到过类似的问题,所以解决起来也没什么遇到大的困难,反而让我弄清了 middleware 的...
  • 在执行接口请求的时候,突然爆出这个错误 仔细一下我得控制器都存在,路由也都正常的 后来才发现我的配置文件有修改,因此执行一下下面的命令,重新加载一下启动文件: 这个时候再次访问就正常了! ...
  • * 更新用户基本信息  public function UpdateProfiles(Request $request)  {  $validator = $this-&gt;setRules([  'ss' =&gt; 'required|string',  'sex' =&... 'integer|in:1,2', // ...
  • laravel POST请求失败的原因

    千次阅读 2016-06-06 15:28:42
    ExecSearch @include('header') @include('sidebar') @yield('header') @yield('sidebar')
  • laravel获取请求地址的ip

    千次阅读 2018-08-14 15:10:00
    转载于:https://www.cnblogs.com/muwu/p/9474747.html
  • Laravel 接口返回302响应,跳转页面

    千次阅读 2020-05-07 11:09:34
    在设计完接口后,使用postman模拟请求,但是一直不返回正确响应。调试的时候,发现是有请求接口函数。但是返回的结果却不对。这是因为只有在请求的 Heard 里面加入 请求头 X-Requested-Wit: XMLHttpRequest 才会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,858
精华内容 1,943
关键字:

laravel接口请求