@Multigame

Почему laravel может не видеть csrf-токен?

Добрый день.

Есть небольшой проект на laravel. С post ajax формой.
Форма корректно работает на локалхосте (artisan serve) и отказывается работать на хосте с формулировкой 419:CSRF token mismatch.

Изначально CSRF токен прописывался в форме через @csrf-директиву blade и собирался js в тело POST запроса в поле _token. Когда столкнулся с проблемой, переделал на отправку через header X-CSRF-TOKEN, однако это ничего не изменило.
По сетевой консоле токен уходит... но видимо не проходит валидацию.

Отправка
$("#form").on("submit", function(e){
                e.preventDefault();
                $.ajax({
                    url: window.location.href,
                    method: 'post',
                    dataType: 'json',
					contentType: 'application/json; charset=utf-8',
					headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                    data: $(this).serialize(),
                    success: function(data){
                        console.log(data);
                    },
                    error: function () {
                        console.log('error');
                    }
                });
            });


В чем может быть проблема? куда смотреть?
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 1
Enokin
@Enokin
Full-stack разработчик
А у вас точно доступен тег через
<meta name="csrf-token" content="{{ csrf_token() }}">
через $('meta[name="csrf-token"]').attr('content')?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы