首页 >后端开发 >php教程 >实例分享Laravel接收前端ajax传来的数据

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

小云云
小云云原创
2018-02-06 09:42:472762浏览

最近在做一个笔记的项目,技术栈如下: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(&#39;mongodb&#39;);
    $res = $mongo->collection(&#39;user&#39;)->where(&#39;email&#39;,$email)->first();
    return $res;
 
  }
}

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


<?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(&#39;email&#39;);
    $pass = $request->input(&#39;pass&#39;);
    $res = GUser::login($email);
    return $res;
  }
}

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

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


Route::any(‘/login&#39;,&#39;GUserController@login&#39;);

相关推荐:

PHP中给AJAX传来的数据类型是JSON的一点困惑

以上是实例分享Laravel接收前端ajax传来的数据的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn