Exemple de partage Laravel reçoit des données du front-end ajax

小云云
Libérer: 2023-03-19 21:44:02
original
2749 Les gens l'ont consulté

Je prends actuellement des notes sur un projet. La pile technologique est la suivante : vue.js + laravel + mongodb Tout d'abord, je dois déplorer la magie de vue. Après le projet d'hier soir, je vais réaliser une. examen des technologies utilisées dans l'ensemble du projet et des pièges que j'ai rencontrés. Pour résumer, nous allons enregistrer aujourd'hui un exemple du front-end transmettant des données au back-end et de laravel les recevant.

Je n'ai pas utilisé vue-resource pour le plug-in ajax front-end Pour être honnête, j'ai rencontré des pièges lors de son utilisation, j'ai donc utilisé axios.js, qui est facile à utiliser et plus petit que vue. -ressource.

Regardons le code front-end (en omettant la partie logique de vue) :


axios.post('index.php/login',{
    email:this.email,
    pass:this.pass
  }).then(function(res){
    console.log(res)
  }).then(function(){
    console.log(321)
  })
Copier après la connexion

this.email et this.pass sont le formulaire données renseignées par l'utilisateur. Cliquez pour vous connecter pour exécuter cette méthode (après avoir vérifié que le format des données est OK).

Voyons comment Laravel reçoit ces deux valeurs :

Nous créons un fichier modèle de GUser.php dans le dossier app, avec le contenu suivant :


<?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;
 
  }
}
Copier après la connexion

Créez un fichier GUserController.php sous app/Http/Controllers avec le contenu suivant :


<?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;
  }
}
Copier après la connexion

Bien sûr, ça ne sert à rien ici la valeur de pass, j'ai omis ici la logique de vérification de connexion.

Configurez-le ensuite dans le fichier de routage web.php :


Route::any(‘/login&#39;,&#39;GUserController@login&#39;);
Copier après la connexion

Recommandations associées :

PHP Il y a une petite confusion sur le fait que le type de données envoyé à AJAX est JSON

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal