Задать вопрос
@lemonlimelike

Почему приходит ошибка 419?

Всем привет! Делаю авторизацию на проекте и столкнулся с тем, что при отправке данных, сервер возвращает 419.
Вот мой html-код:
<div class="modal-dialog">
						   	<div class="modal-header">
						    	<h2>Авторизация </h2>
						        <label class="btn-close" for="modal-1" aria-hidden="true">×</label>
						    </div>
						    <div class="modal-body">
						   		<input id="email" type="text" class="modal-body__text" placeholder="Email" required>
						   		<input id="password" type="password" class="modal-body__text" placeholder="Password" required>
						    </div>
						    <div class="modal-footer">
						    	<button type="button" class="btn btn-primary" onclick="auth();">Войти</button>
						    </div>
						</div>

Вот функция, которая отвечает за передачу данных:
function auth(){
  		var email = document.getElementById('email').value;
  		var password = document.getElementById('password').value;
                var tokenHeader = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
	        var postdata = new Headers({
                      'Content-Type': 'application/json',
                      'X-CSRF-TOKEN': tokenHeader
               });
  		var url = '{!!route('login')!!}';
  		fetch(url,{
  			method: 'POST',
  			postdata,
  			body: JSON.stringify({email: email, password:password, _token: '{!!csrf_token()!!}'})
  		}).then((response)=>{
  			return response.json();
  		}).then((data)=>{
  			console.log(data)
  		}).catch((error)=>{
  			console.log(error)
  		});
  	}

И вот ответ сервера:
5be84a49c6f06351019583.png
  • Вопрос задан
  • 5167 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
netrox
@netrox
Ты точно добавил в разметку скрытое поле @csrf? Токен дожен отпралятся в теле Request при каждом типе запроса (GET исключение).
Ответ написан
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
Судя по Вашим двум скринам в комменатриях, видно, что токены разные. Если судить по js-коду, то тоже 2 разных токена передаёте. Сделайте так:
body: JSON.stringify({email: email, password:password, _token: tokenHeader})

Но, если Вы в header используйте токен, то зачем его ещё при передаче данных указываете?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 19:19
2300 руб./в час
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час