Rumah  >  Artikel  >  pembangunan bahagian belakang  >  实例分享Laravel接收前端ajax传来的数据

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

小云云
小云云asal
2018-02-06 09:42:472690semak imbas

最近在做一个笔记的项目,技术栈如下: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的一点困惑

Atas ialah kandungan terperinci 实例分享Laravel接收前端ajax传来的数据. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn