首頁  >  文章  >  後端開發  >  實例分享Laravel接收前端ajax傳來的數據

實例分享Laravel接收前端ajax傳來的數據

小云云
小云云原創
2018-02-06 09:42:472747瀏覽

最近在做一個筆記的項目,技術堆疊如下: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