Home  >  Article  >  Backend Development  >  Example sharing Laravel receives data from the front-end ajax

Example sharing Laravel receives data from the front-end ajax

小云云
小云云Original
2018-02-06 09:42:472690browse

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(&#39;mongodb&#39;);
    $res = $mongo->collection(&#39;user&#39;)->where(&#39;email&#39;,$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(&#39;email&#39;);
    $pass = $request->input(&#39;pass&#39;);
    $res = GUser::login($email);
    return $res;
  }
}

Of course, the pass value is not used here. , I have omitted the logic of login verification here.

Then configure it in the routing file web.php:


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

Related recommendations:


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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn