Как автоматически добавить X-CSRF-TOKEN с помощью jQuery ajax-запроса в Laravel - PullRequest
0 голосов
/ 08 декабря 2018

Как я могу добавить токен csrf с моими ajax-запросами (GET или POST) моего приложения Laravel автоматически, не добавляя его вручную к каждому запросу.

Мой запрос ajax

   $.ajax({
      type:'post',
      url: "/email/unique",
      data: { "_token": "{{ csrf_token() }}", "email": email }
      success: function(data) {
        console.log(data);
      }
   });

1 Ответ

0 голосов
/ 08 декабря 2018

В Laravel значение метатега csrf-token по умолчанию регистрируется в HTTP-библиотеке Axios.Но если вы не используете эту библиотеку , вам необходимо вручную настроить это поведение для вашего приложения.

Для этого сохраните токен в метаданных HTML.тег

<meta name="csrf-token" content="{{ csrf_token() }}">

Затем, после создания метатега, вы можете указать библиотеке jQuery автоматически добавлять токен во все заголовки запроса.

Для этого добавьте код в файл resources/js/bootstrap.js для Laravel 5.7 и resources/assets/js/bootstrap.js для Laravel 5.6 и ниже.

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

Ajax без токена csrf по мере его добавленияавтоматически

$.ajax({
      type:'post',
      url: "/email/unique",
      data: { "email": email }
      success: function(data) {
        console.log(data);
    }
 }); 
...