怎么在Lavarel中使用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";
}
关于怎么在Lavarel中使用ajax提交表单问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。