Maison  >  Article  >  interface Web  >  Comment soumettre un formulaire en utilisant ajax dans le framework Lavarel_AJAX

Comment soumettre un formulaire en utilisant ajax dans le framework Lavarel_AJAX

亚连
亚连original
2018-05-23 10:25:451677parcourir

Parce que Laravel doit ajouter {{csrf_field()}} lors de la soumission de données sous forme de publication pour éviter les attaques intersites, partageons avec vous la méthode d'utilisation d'ajax pour soumettre le formulaire dans le framework lavarel à travers cet article. . Jetons un coup d'oeil

Introduction à laravel :

Laravel est un framework de développement Web PHP simple et élégant (PHP Web Framework). Il peut vous libérer des codes désordonnés comme les nouilles ; il peut vous aider à créer une application réseau parfaite, et chaque ligne de code peut être concise et expressive. Le « développement » doit être un travail mental créatif, et non un « code de base » ennuyeux.

Droit au but, car laravel doit ajouter {{csrf_field()}} lors de la soumission de données sous forme de publication pour éviter les attaques intersites, il est donc naturel de l'ajouter lorsque vous soumettez un formulaire en utilisant ajax.

J'ai vu de nombreuses solutions sur Internet. Je l'ai résolu avec la méthode suivante :

1. Tout d'abord, ajoutez une méta au modèle :

<.>
<meta name="_token" content="{{ csrf_token() }}"/>

2, puis ajoutez

headers: {
&#39;X-CSRF-TOKEN&#39;: $(&#39;meta[name="_token"]&#39;).attr(&#39;content&#39;)
},

dans la méthode ajax, je l'ai trouvé des fonctions jquery très utiles, $().serialize() et $().serializeArray(). J'utilise ce dernier dans le code. Il peut obtenir les données sous la forme et les transmettre directement via ajax. C'est tout simplement trop étonnant !!! a fait rire tout le monde)

$(form[1]).submit(function(event){
    var data = $(form[1]).serializeArray();
    // console.log(data);
    $.ajax({
      type:&#39;post&#39;,
      url:&#39;/basic&#39;,
      data:data,
      headers: {
  &#39;X-CSRF-TOKEN&#39;: $(&#39;meta[name="_token"]&#39;).attr(&#39;content&#39;)
},
      success:function(msg){
        if (msg) {
          $(&#39;.basicEdit&#39;).hide();
          $(&#39;.basicShow&#39;).show();
          $(&#39;.basicShow span&#39;).html(data[1].value+&#39; | &#39;+data[2].value+&#39; | &#39;+data[3].value+&#39; | &#39;+data[4].value+&#39;<br>&#39;+data[5].value+&#39; | &#39;+data[6].value+&#39; | &#39;+data[7].value);
        }
      },
    });
    // event.preventDefault();
    return false;
  });

3 Ensuite, récupérez les données dans la méthode du contrôleur, directement $req-> 🎜>

public function basic(Request $req){
   // return $req->gender;
   $uid = Auth::user()->uid;
   // return $uid;
   // $inf = new \App\Info;
   $inf = Info::where(&#39;uid&#39;,$uid)->first();
   // return $inf;
   $inf->name = $req->name;
   $inf->gender = $req->gender;
   $inf->topDegre = $req->topDegre;
   $inf->workyear = $req->workyear;
   $inf->tel = $req->tel;
   $inf->email = $req->email;
   return $inf->save()?"ok":"fail";
  }
Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Solution expliquant pourquoi les paramètres de soumission Ajax avec des balises html dans leurs valeurs ne peuvent pas être soumis avec succès


Page de saut de demande de publication Ajax


Deux solutions pour qu'Ajax ouvre une nouvelle fenêtre et soit intercepté par le navigateur


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!

Déclaration:
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