Parce que Laravel doit ajouter {{csrf_field()}} lors de la soumission de données sous forme de publication pour éviter les attaques intersites. Cet article partage principalement avec vous la méthode d'utilisation d'ajax pour soumettre le formulaire dans le framework lavarel. Jetons un coup d'œil. J'espère que cela pourra aider tout le monde.
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.
Allons droit au but, car lorsque Laravel soumet des données sous forme de publication, il doit ajouter {{csrf_field()}} pour empêcher les attaques intersites, il est donc naturel de l'ajouter lorsque vous soumettez le 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: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },
dans la méthode ajax. C'est la méthode ajax. J'ai trouvé les fonctions jquery très utiles, $().serialize() et $().serializeArray(), j'utilise cette dernière. dans le code. Je peux récupérer les données sous le formulaire et les transmettre directement via ajax C'est incroyable !!! (L'ignorance fait rire tout le monde)
$(form[1]).submit(function(event){ var data = $(form[1]).serializeArray(); // console.log(data); $.ajax({ type:'post', url:'/basic', data:data, headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, success:function(msg){ if (msg) { $('.basicEdit').hide(); $('.basicShow').show(); $('.basicShow span').html(data[1].value+' | '+data[2].value+' | '+data[3].value+' | '+data[4].value+'<br>'+data[5].value+' | '+data[6].value+' | '+data[7].value); } }, }); // event.preventDefault(); return false; });
3 Puis dans Pour récupérer les données dans la méthode du contrôleur. , juste $req->le nom de votre formulaire.
public function basic(Request $req){ // return $req->gender; $uid = Auth::user()->uid; // return $uid; // $inf = new \App\Info; $inf = Info::where('uid',$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"; }
Pour résumer :
Je pense que chaque étape que j'ai dite est nécessaire !!!, le code écrit dans ma fonction de rappel est de réimprimez les données obtenues dans le formulaire. Vous pouvez ignorer les données inutiles, puis simplement jeter un œil au code présenté par un débutant PHP.
Recommandations associées :
La page du formulaire de soumission Ajax s'actualise rapidement avec des exemples
Deux méthodes de jquery implémentant la soumission de formulaire ajax
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!