Lavarel框架中使用ajax提交表單實例分享

小云云
發布: 2023-03-19 11:58:01
原創
2115 人瀏覽過

因為laravel以post形式提交資料時候需要加{{csrf_field()}}防止跨站攻擊,本文主要給大家分享lavarel框架中使用ajax提交表單的方法,一起看看吧,希望能幫助到大家。

laravel簡介:

Laravel是一套簡潔、優雅的PHP Web開發架構(PHP Web Framework)。它可以讓你從麵條一樣雜亂的程式碼中解脫出來;它可以幫你建立一個完美的網路APP,而且每行程式碼都可以簡潔、富於表達力。 「開發」應當是一項富有創意的腦力勞動,而不是枯燥的「壘代碼「。

開門見山,因為laravel以post形式提交資料時候需要加{{csrf_field()}}防止跨站攻擊,所以當你用ajax提交表單時候自然也要加。

在網路上看了很多的解決方式,我是用下面這個方法解決的:

1,首先在模板裡面加上一個meta  :

<meta name="_token" content="{{ csrf_token() }}"/>
登入後複製

2 ,然後在ajax方法裡面加

headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
登入後複製

這是ajax的方法,發現了很好用的jquery的函數,$().serialize()和$().serializeArray(),程式碼中我用的是後者,可以獲取form表單中的數據,並且能直接通過ajax傳輸,簡直太神奇了!!!(孤陋寡聞讓大家見笑了)

$(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然後在控制器方法中獲取數據了,直接$req->你的表單name就行了.

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";
  }
登入後複製

總結下:

我覺得我說的每一步都是必須得!!!,我的回呼函數裡面寫的程式碼是把表單裡面獲得資料重新列印出來了,不需要的可以忽視掉,然後程式碼將就看吧,一個php初學者奉上。

相關推薦:

Ajax提交表單頁面刷新很快實例講解

實例詳解jQuery Validator驗證Ajax提交表單的方法和Ajax傳參的方法

jquery實作ajax提交表單的兩種方法

以上是Lavarel框架中使用ajax提交表單實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!