轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 4261|回复: 0

实例分享Laravel接收前端ajax传来的数据

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17452
QQ
发表于 2020-6-15 02:30 | 显示全部楼层 |阅读模式
最近在做一个笔记的项目,技术栈如下:vue.js + laravel + mongodb首先不得不感叹vue的神奇,项目昨晚之后我会对整个项目中用到的技术和踩过的坑进行一个总结,今天先记录一个前端传送数据给后端,laravel接收的例子。

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

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


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文件,内容如下:


<?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文件,内容如下:


<?php
namespace AppHttpControllers;
 
use AppHttpControllersController;
use AppGUser;
use IlluminateHttpRequest;
 
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里配置:


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


回复

使用道具 举报

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2019 https://www.qingyuanma.com/ 鲁ICP备17014494号

快速回复 返回顶部 返回列表