Heim  >  Artikel  >  Web-Frontend  >  So senden Sie ein Formular mit Ajax im Lavarel-Framework

So senden Sie ein Formular mit Ajax im Lavarel-Framework

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 17:27:581348Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie ein Formular mit Ajaxim Lavarel-Framework einreichen Welche Vorsichtsmaßnahmen für das Einreichen eines Formulars mit Ajax im Lavarel-Framework gelten die praktischen Fälle. Stehen Sie auf und werfen Sie einen Blick darauf.

LaravelEinführung:

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“.

Um es auf den Punkt zu bringen, denn Laravel muss beim Senden von Daten im Post-Formular {{csrf_field()}} hinzufügen, um Cross-Site-Angriffe zu verhindern. Daher ist es selbstverständlich, es hinzuzufügen, wenn Sie Ajax zum Senden eines Formulars verwenden.

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 Um Daten zu erhalten, genügt $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";
  }

Ob Sie es glauben oder nicht Nachdem Sie den Fall in diesem Artikel gelesen haben, haben Sie es gemeistert Weitere spannende Informationen zur Methode finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So bedienen Sie die Ajax-Post-Anfrage, um eine Seite zu springen

Wie Sie damit umgehen, wenn Ajax eine öffnet neues Fenster und wird abgefangen

Das obige ist der detaillierte Inhalt vonSo senden Sie ein Formular mit Ajax 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