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() }}"/>
headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },
$(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; });
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"; }
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!