в Laravel Я ПОЛУЧИЛ ОШИБКУ, метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD

#javascript #php #laravel

Вопрос:

Я пытаюсь, когда клиент хочет загрузить изображение или логотип, я хочу, чтобы это изображение отображалось перед ним с помощью элемента span, чтобы он мог убедиться, что загрузил правильное изображение в систему, но когда я нажимаю на кнопку загрузить, я получил СООБЩЕНИЕ, метод не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD. ошибка

вот мой код в card_view_blade

 lt;div class="form-group row"gt;  lt;div class="col-md-8"gt;  lt;form method="post" id="upload-image-form" enctype="multipart/form-data"gt;  @csrf  lt;div class="input-group" data-type="image"gt;  lt;input type="file" name="file" class="form-control" id="image-input"gt;    lt;button type="submit" class="btn btn-success"gt;Uploadlt;/buttongt;  lt;/divgt;  lt;/formgt;  lt;/divgt;    lt;div class="col-md-4"gt;   lt;div class="alert" id="message" style="display: none"gt;lt;/divgt;  lt;span id="uploaded_image"gt;lt;/spangt;  lt;/divgt;  lt;/divgt;  

вот код js

 @section('script')   lt;script type="text/javascript"gt;  $(function(){  $.ajaxSetup({  headers: {  'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')  }  });   $('#upload-image-form').submit(function(e) {  e.preventDefault();  let formData = new FormData(this);  $('#message').hide().html('');   $.ajax({  type:'POST',  url: `/upload-images`,  data: formData,  dataType:'JSON',  contentType: false,  cache: false,  processData: false,  success: (data) =gt; {  console.log("success-",data);  if (data) {  this.reset();  $('#message').show().html(data.message);  $('#message').addClass(data.class_name);  $('#uploaded_image').html(data.uploaded_image);  }  setTimeout(function(){  $('#message').hide().html('');  }, 3000);  },  error: function(data){  console.log("error-",data);  // $('#image-input-error').text(data.responseJSON.errors.file);  $('#message').show().html('Something went wrong');  $('#message').addClass('danger');  $('#uploaded_image').html('');  setTimeout(function(){  $('#message').hide().html('');  }, 3000);  }  });  });  })  lt;/scriptgt; @endsection  

код маршрута

 Route::post('/upload-images', 'CheckoutController@storeImage' )-gt;name('images.store');  

Комментарии:

1. Эта страница с ошибкой показывает, что вы действительно используете POST, поэтому ваш код blade amp; js не имеет значения. В консоли попробуйте php artisan route:list убедиться, что ваша конечная точка post указана в списке, и выше нет ничего, что могло бы столкнуться с ней

2. спасибо за помощь, это работает

Ответ №1:

Кажется, с кодом все в порядке, возможно, маршруты кэшированы. Сначала попробуйте очистить их и посмотрите, устранена ли проблема или нет с помощью следующих команд:

 php artisan route:clear  

Комментарии:

1. добро пожаловать! это должно быть комментарием!

2. Согласен, Дэниел, я новый пользователь, поэтому сейчас не могу делать никаких комментариев.