Lily

精于心简于形~

Laravel后台如何获得axios传的值

最近在做一个笔记的项目,技术栈如下:vue.js + laravel + mongodb首先不得不感叹vue的神奇,项目昨晚之后我会对整个项目中用到的技术和踩过的坑进行一个总结,今天先记录一个前端传送数据给后端,laravel接收的例子。

前端ajax插件我没有使用vue-resource,说实话,用他遇到了坑,所以使用了axios.js,很好用,而且比vue-resource还小。

来看前端代码(省略vue逻辑部分):

1

2

3

4

5

6

7

8

axios.post('index.php/login',{

    email:this.email,

    pass:this.pass

  }).then(function(res){

    console.log(res)

  }).then(function(){

    console.log(321)

  })

this.email和this.pass即为用户填写的表单数据,点击登录即执行这个方法(验证数据格式没问题后)。

来看Laravel如何接收这两个值:

我们在app文件夹下建立一个GUser.php的Model文件,内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?php

namespace App;

use Mongodb;

use DB;

 

class GUser extends Mongodb {

  public static function login($email) {

 

    $mongo = DB::connection('mongodb');

    $res $mongo->collection('user')->where('email',$email)->first();

    return $res;

 

  }

}

再在app/Http/Controllers下建立一个GUserController.php文件,内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?php

namespace App\Http\Controllers;

 

use App\Http\Controllers\Controller;

use App\GUser;

use Illuminate\Http\Request;

 

class GUserController extends Controller{

 

  protected function login(Request $request) {

    $email $request->input('email');

    $pass $request->input('pass');

    $res = GUser::login($email);

    return $res;

  }

}

当然啦,这里没有用到pass的值,我在这里省略了登录验证的逻辑。

然后在路由文件web.php里配置:

1

Route::any(‘/login','GUserController@login');


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2020年5月   »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
    搜索
    最新留言
      文章归档
      • RainbowSoft Studio Z-Blog
      • 订阅本站的 RSS 2.0 新闻聚合

      Powered By Z-BlogPHP 1.6.0 Valyria

      Copyright lily Rights Reserved.