405 Метод не разрешен, PATCH не работает. Laravel, Ajax, Jquery, bootstrap модальные - PullRequest
2 голосов
/ 22 февраля 2020

В laravel у меня ошибка 405, но странно то, что когда я хочу отредактировать некоторые данные и нажать «Обновить», они не обновляют sh и не загружают страницу. когда я обновляю sh страницу, само обновление установлено! только я получаю ошибку 405 метод PATCH не допускается. У меня есть некоторые поиски на Inte rnet прикладом не могу найти, как решить эту проблему. Вещи, которые я нашел, были как проверить ваш apache2 конфиг, добавить поле csrf, сделать сообщение формы действия и поставить {!! method_field ('patch') !!} внутри этого. Я пробовал много вещей.

кто-то, кто может помочь мне с этим вопросом! Большое спасибо

Мой маршрут для проекта:

Route::resource('project', 'ProjectViewController');

Мой контроллер для проекта

public function update(Request $request, $id)
{ DB::table('projects')
    ->where('id', $id)
    ->update($request->all()); return redirect('')->with('success', 'Project has been updated'); 

}

Мой Jquery Ajax:

$('.modal-footer').on('click', '.edit', function() {
    $.ajax({
        method: 'PATCH',
        url: '{{route('project.update', $project->id)}}',
        data: {
            '_token': $('input[name=_token]').val(),
            'id': $('#fid').val(),
            'project_name': $("#pn").val(),
            'date': $('#Da').val(),
            'location': $('#Lo').val(),
            'first_name': $('#FN').val(),
            'last_name': $('#LN').val(),
            'city_name': $('#CN').val(),
            'email': $('#EM').val(),
            'number': $('#NUM').val()
        },
        success: function(data){if(data.success == true){ // if true (1)
  setTimeout(function(){// wait for 5 secs(2)
       location.reload(); // then reload the page.(3)
  }, 2000); }},

1 Ответ

1 голос
/ 22 февраля 2020

Вам нужно использовать POST в качестве метода и вам нужно определить _method=post ваши отправленные данные. Пожалуйста, попробуйте следующий код.

$('.modal-footer').on('click', '.edit', function() { $.ajax({ method: 'POST', url: '{{route('project.update', $project->id)}}', data: { '_method': 'PUT', '_token': $('input[name=_token]').val(), 'id': $('#fid').val(), 'project_name': $("#pn").val(), 'date': $('#Da').val(), 'location': $('#Lo').val(), 'first_name': $('#FN').val(), 'last_name': $('#LN').val(), 'city_name': $('#CN').val(), 'email': $('#EM').val(), 'number': $('#NUM').val() }, success: function(data){if(data.success == true){ // if true (1) setTimeout(function(){// wait for 5 secs(2) location.reload(); // then reload the page.(3) }, 2000); }},

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...