Laravel имеет промежуточное ПО под названием VerifyCsrfToken
, которое включено по умолчанию.Он гарантирует, что все запросы POST имеют токен csrf.Эти токены гарантируют, что запрос отправляется только из нашего приложения, а не из каких-либо сторонних утилит или утилит для отправки форм.
Когда контроллер не получает _token в запросе, он выдает ошибку.
Похоже, вы пытаетесь отправить, но не по сути.Обновление к этому:
var token = $('meta[name="csrf-token"]').attr('content');
data: {
_token : token
},
В настоящее время вы следите, который неправильно отправляет токен:
data: [{'_token':token}]
Более простая конфигурация:
Вместо отправки_token в каждом ajax-запросе, вы можете установить jquery ajax:
$.ajaxSetup({
data: {
_token: $('meta[name="csrf-token"]').attr('content')
}
});
Тогда каждый ajax-запрос будет автоматически иметь это, нет необходимости указывать его снова в каждом запросе ajax-данных.