Laravel + Vue - Удалить объект, но консоль возвращает ошибку - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь успешно удалить запись в vue.Это удаляет записи, но я получаю следующую ошибку в консоли.

405 (Метод не разрешен)

Я получаю эту ошибку на вкладке сети

«исключение»: «Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException»,

Это в моем файле .vue.

  <button @click="deletePet(pet.id)">Delete</button>

Этомой файл js

methods: {
    deletePet(id){

        var petid = id;

        window.axios.delete('/client/pet/' + id)
        .then(response => this.onSubmitSuccess(response))
        .catch(error => this.onSubmitError(error));;

        console.log('Pet Id' + petid);
      }
    },

Это мой маршрут laravel

Route::delete('/client/pet/{id}', 'ClientController@deletePet')->name('client.pet.delete');

Это мой метод в clientcontroller

public function deletePet($id){
      $pet = Pet::find($id);
      $pet->delete();

      return back();
    }

1 Ответ

0 голосов
/ 17 октября 2018
<html>
    <head>
        <script>
        // rename myToken as you like
        window.myToken =  <?php echo json_encode([
            'csrfToken' => csrf_token(),
        ]); ?>
        </script>
    </head>

добавить общий заголовок:

 <script>
    window.axios.defaults.headers.common = {
        'X-Requested-With': 'XMLHttpRequest',
        'X-CSRF-TOKEN' :  window.myToken 
    };
</script>

в ваших методах

methods: {
    deletePet(id){

        var petid = id;

        window.axios.delete('/client/pet/', {params:{'id': petid})
        .then(response => this.onSubmitSuccess(response))
        .catch(error => this.onSubmitError(error));;

        console.log('Pet Id' + petid);
      }
    },

маршрут маршрута:

Route::delete('client/pet/{id}', 'ClientController@deletePet')->name('client.pet.delete');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...