Dropzone с laravel отображает ошибку 419

Я протестировал все, что видел, но у меня это не сработало, я использую dropzone с laravel, и моя проблема в том, что он отображает ошибку 419, я знаю, что это означает, что это токен csrf, но я не могу это исправить.

Мой HTML-код таков:

<div id="my-dropzone" class="dropzone"></div>

Мой код javascript таков:

Dropzone.autoDiscover = false;

$(document).ready(function(){

   $('#my-dropzone').dropzone({
      url: 'http://54.161.128.196/pre_image/store',
      headers: {
        'X-CSRF-TOKEN': $('meta[name="token"]').attr('content')
      },
      method: 'post',
      dictResponseError: 'Error uploading file!'
   });

});

Мой маршрут Laravel:

Route::post('/pre_image/store', 'Pre_ImageController@store');

Я поместил это в промежуточное ПО, чтобы посмотреть, смогу ли я удалить ошибку 419:

Он находится в промежуточном программном обеспечении VerifyCsrfToken

protected $except = [
    'pre_image/store'
];

И не вышло, у меня в мете токен csrf вот такой:

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

Это скриншот ошибки:

скриншот

Итак, мне интересно, в чем проблема, почему он отображает ошибку 419, если этот маршрут отключен для проверки токена, и даже ему назначен токен?

Спасибо!


person Jesús Cova    schedule 16.05.2020    source источник
comment
пожалуйста, также опубликуйте снимок экрана с ошибкой. И ваше мета-имя - csrf-token, а не token.   -  person Chaudhry Waqas    schedule 16.05.2020


Ответы (1)


У меня были похожие проблемы с Dropzone. В итоге я вытащил заголовки в функцию ajax вверху страницы, а не в разделе заголовков DZ. Это позволяло любому общему запросу ajax иметь правильный CSRF.

Попробуй это:

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