Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie Beispiele für die Verwendung von Ajax zum Senden von Formularen im Lavarel-Framework

Teilen Sie Beispiele für die Verwendung von Ajax zum Senden von Formularen im Lavarel-Framework

小云云
小云云Original
2018-01-08 15:41:072101Durchsuche

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

Detaillierte Beispiele, wie jQuery Validator Ajax-Übermittlungsformulare und Ajax überprüft Parameterübergabemethode

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn