首頁  >  文章  >  web前端  >  在Lavarel框架中ajax需要怎麼提交表單

在Lavarel框架中ajax需要怎麼提交表單

php中世界最好的语言
php中世界最好的语言原創
2018-04-02 17:27:581382瀏覽

這次帶給大家在Lavarel框架中ajax需要怎麼提交表單,在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怎麼操作post請求跳轉頁面

#Ajax開啟新視窗被攔截時如何處理
#

以上是在Lavarel框架中ajax需要怎麼提交表單的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn