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

小云云
Freigeben: 2023-03-19 21:44:02
Original
2688 Leute haben es durchsucht

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)
  })
Nach dem Login kopieren

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;
 
  }
}
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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;);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!