Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die gemeinsame Nutzung: Laravel empfängt Daten vom Front-End-Ajax

Beispiel für die gemeinsame Nutzung: Laravel empfängt Daten vom Front-End-Ajax

小云云
小云云Original
2018-02-06 09:42:472689Durchsuche

Ich mache mir gerade Notizen zu einem Projekt: vue.js + laravel + mongodb. Nach dem Projekt werde ich gestern Abend eins beklagen Überblick über die im gesamten Projekt verwendeten Technologien und die Fallstricke, auf die ich gestoßen bin. Zusammenfassend werden wir heute ein Beispiel dafür aufzeichnen, wie das Front-End Daten an das Back-End sendet und Laravel diese empfängt.

Ich habe vue-resource nicht für das Front-End-Ajax-Plug-in verwendet. Um ehrlich zu sein, bin ich bei der Verwendung auf Fallstricke gestoßen, also habe ich axios.js verwendet, das einfach zu verwenden und kleiner als vue ist -Ressource.

Schauen wir uns den Front-End-Code an (ohne den Teil der Vue-Logik):


axios.post('index.php/login',{
    email:this.email,
    pass:this.pass
  }).then(function(res){
    console.log(res)
  }).then(function(){
    console.log(321)
  })

this.email und this.pass sind das Formular Vom Benutzer eingegebene Daten Klicken Sie hier, um sich anzumelden und diese Methode auszuführen (nachdem Sie überprüft haben, ob das Datenformat in Ordnung ist).

Sehen wir uns an, wie Laravel diese beiden Werte erhält:

Wir erstellen eine Modelldatei von GUser.php im App-Ordner mit folgendem Inhalt:


<?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;
 
  }
}

Erstellen Sie unter app/Http/Controllers eine GUserController.php-Datei mit folgendem Inhalt:


<?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;
  }
}

Natürlich ist es hier nutzlos Wert von pass, ich habe die Logik der Anmeldeüberprüfung hier weggelassen.

Dann konfigurieren Sie es in der Routing-Datei web.php:


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

Verwandte Empfehlungen:

PHP Es besteht eine kleine Verwirrung darüber, dass der an AJAX gesendete Datentyp JSON ist

Das obige ist der detaillierte Inhalt vonBeispiel für die gemeinsame Nutzung: Laravel empfängt Daten vom Front-End-Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn