Da Laravel beim Senden von Daten in Form von Posts {{csrf_field()}} hinzufügen muss, um Cross-Site-Angriffe zu verhindern, wird in diesem Artikel hauptsächlich die Methode zur Verwendung von Ajax zum Senden des Formulars im Lavarel-Framework erläutert. Werfen wir einen Blick darauf. Ich hoffe, es kann allen helfen.
Einführung in Laravel:
Laravel ist ein einfaches und elegantes PHP-Webentwicklungsframework (PHP Web Framework). Es kann Sie von unordentlichen Codes wie Nudeln befreien; es kann Ihnen helfen, eine perfekte Netzwerk-APP zu erstellen, und jede Codezeile kann prägnant und ausdrucksstark sein. „Entwicklung“ sollte eine kreative Kopfarbeit sein, kein langweiliger „Basiscode“.
Kommen wir gleich zur Sache, denn wenn Laravel Daten per Post übermittelt, muss es {{csrf_field()}} hinzufügen, um standortübergreifende Angriffe zu verhindern. Daher ist es selbstverständlich, es beim Senden hinzuzufügen das Formular mit Ajax.
Ich habe im Internet viele Lösungen gesehen. Ich habe es mit der folgenden Methode gelöst:
Fügen Sie zunächst ein Meta zur Vorlage hinzu:
<meta name="_token" content="{{ csrf_token() }}"/>
2 , dann füge
headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },
in die Ajax-Methode ein. Ich habe die Ajax-Funktionen $().serialize() und $().serializeArray() gefunden im Code. Ich kann die Daten im Formular abrufen und direkt über Ajax übertragen. (Unwissenheit bringt alle zum Lachen)
$(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 Dann in der Controller-Methode , nur $req->Ihr Formularname.
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"; }
Um es zusammenzufassen:
Ich denke, jeder Schritt, den ich gesagt habe, ist notwendig!!!, der in meiner Rückruffunktion geschriebene Code ist dazu da Drucken Sie die im Formular erhaltenen Daten erneut aus. Sie können die unnötigen Daten ignorieren und sich dann einfach den Code ansehen, der von einem PHP-Anfänger präsentiert wird.
Verwandte Empfehlungen:
Ajax-Übermittlungsformularseite wird schnell mit Beispielen aktualisiert
Zwei Methoden der JQuery, die die Ajax-Formularübermittlung implementieren
Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für die Verwendung von Ajax zum Senden von Formularen im Lavarel-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!