Получение ошибки Поддерживаемые методы: GET, HEAD Laravel - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь отправить форму с ajax, но получаю ошибку The POST method is not supported for this route. Supported methods: GET, HEAD. Я видел много вопросов и ответов по Stackoverflow и другим источникам, но не нашел решения, как я могу это сделать? исправить это?

Файл Blade

  <form method="POST" enctype="multipart/form-data">
    <input type="hidden" value="{{csrf_token()}}" id="token"/>

  <div class="form-group" >
     <label for="title">Title</label>
     <input type="text" name="title" >
  </div>

  <div class="form-group">
     <label for="description">Description</label>
     <input type="text" name="description">
  </div>
<button type='submit' id="btn" >submit

</form>

Javascript

<script>

$(document).ready(function(){
$("#btn").click(function(event){
event.preventDefault();
var url = '{{ route('review.store') }}';
var form = $('form')[0];
var formData = new FormData(form);

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

$.ajax({
    url: url,
    data: formData,
    type: 'POST',
    cache: false,
    contentType: false,
    processData: false,
    success:function(data){
    if($.isEmptyObject(data.error)){
    $("#msg").html("successfull");
    $("#msg").fadeOut(3000);
     }
    }
});
});

});
</script>

Маршрут

Route::post('review', 'ProductReviewController@store')->name('review.store');

1 Ответ

0 голосов
/ 17 марта 2020

Вы не можете использовать одинарные кавычки ' внутри '' в javascript. Ваши данные заключены в двойные кавычки ""

Изменить

var url = '{{ route('review.store') }}';

на

var url = "{{ route('review.store') }}";
...