我想通过ajax从注册表中插入数据。
但我在控制台日志中看到ajax failed
。
我不明白是什么问题?
这是我的js:
$('#Personal_Information').on('submit', function(event){
event.preventDefault();
var form_data = $(this).serialize();
$.ajax
({
type: "POST",
dataType : 'json',
url: "{{url('all/update-profile')}}",
data: {csrf_token:"{{csrf_token()}}", data: form_data}
}).done( function(data){
console.log('Ajax was Successful!')
console.log(data)
}).fail(function(){
console.log('Ajax Failed')
});
这是我的路线:
Route::get('/update-profile', 'personalinformation@redirectupdatepage')->name('/all.update-profile');
Route::post('/all/update-profile', 'personalinformation@store');
我控制器的代码:
public function store(Request $request)
{
$modal = User::create($request->all());
return $modal;
}
谢谢。
答案 0 :(得分:1)
您的令牌字段名称必须为_token, 更新您的代码,此行。
data: { _token:"{{csrf_token()}}", data: form_data},
最好的解决方案是添加元标记和标头。
<meta name="csrf-token" content="{{ csrf_token() }}" />
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
更新您的控制器。
public function store(Request $request)
{
$modal = User::create($request->get('data'));
return $modal;
}