Reputation: 61
i want to insert data from register form by ajax.
but I see ajax failed
in my console log.
I can't understand what is problem ?
here is my 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')
});
here is my route :
Route::get('/update-profile', 'personalinformation@redirectupdatepage')->name('/all.update-profile');
Route::post('/all/update-profile', 'personalinformation@store');
my controller's code :
public function store(Request $request)
{
$modal = User::create($request->all());
return $modal;
}
Thanks.
Upvotes: 0
Views: 53
Reputation: 3065
Your token field name must be _token, Update your code, this line.
data: { _token:"{{csrf_token()}}", data: form_data},
Best solution is add meta tag and header.
<meta name="csrf-token" content="{{ csrf_token() }}" />
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
Update Your Controller.
public function store(Request $request)
{
$modal = User::create($request->get('data'));
return $modal;
}
Upvotes: 1