laravel ajax не работает, виден сбой - PullRequest
0 голосов
/ 02 января 2019


Я хочу вставить данные из формы регистра с помощью 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;
}

Спасибо.

1 Ответ

0 голосов
/ 02 января 2019

Ваше имя поля токена должно быть _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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...