I am currently taking notes on a project. The technology stack is as follows: vue.js + laravel + mongodb. First of all, I have to lament the magic of vue. After last night of the project, I will conduct a review of the technologies used in the entire project and the pitfalls I have encountered. To summarize, today we will record an example of the front end transmitting data to the back end and laravel receiving it.
I did not use vue-resource for the front-end ajax plug-in. To be honest, I encountered pitfalls when using it, so I used axios.js, which is easy to use and smaller than vue-resource.
Let’s look at the front-end code (omitting the vue logic part):
axios.post('index.php/login',{ email:this.email, pass:this.pass }).then(function(res){ console.log(res) }).then(function(){ console.log(321) })
this.email and this.pass are the form data filled in by the user, click to log in That is, execute this method (after verifying that the data format is OK).
Let’s see how Laravel receives these two values:
We create a Model file of GUser.php in the app folder, with the following content:
<?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; } }
Create a GUserController.php file under app/Http/Controllers with the following content:
##
<?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; } }
Route::any(‘/login','GUserController@login');
given in PHP The data type sent by AJAX is JSON, which is a bit confusing
The above is the detailed content of Example sharing Laravel receives data from the front-end ajax. For more information, please follow other related articles on the PHP Chinese website!