405 ошибка, совершаемая топором ios запрос пут / патч от vue до laravel - PullRequest
2 голосов
/ 07 января 2020

Помогите, я не могу получить метод обновления, работающий с put / patch. Также у него не было проблем, когда он был react, поэтому, возможно, vue что-то не так или может я что-то упустил.

let formData = new FormData();
            formData.append("image", this.image);
            formData.append("name", this.name);
            axios
                .post(
                    "/api/items/" + this.editId,
                    {
                        _method: 'patch',
                        data: formData,
                    },
                    {
                        headers: {
                            "Content-Type": "multipart/form-data"
                        }
                    }
                )
                .then(function(response) {
                    console.log(response.data);
                })

Я также пытался

axios.put(
                    "/api/items/" + this.editId,
                    {
                        data: formData,
                    },
                    {
                        headers: {
                            "Content-Type": "multipart/form-data"
                        }
                    }
                )

, но затем я получил пустой $request в методе обновления в контроллере laravel (идентификатор работает)

это как я определяю маршруты в моем api.php

Route::apiResource('items', 'API\ItemsController');

1 Ответ

1 голос
/ 07 января 2020

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

let formData = new FormData();
            formData.append("image", this.image);
            formData.append("name", this.name);
     axios.
           put("/api/items/" + this.editId, {
                  params: {
                     data: formData
                },

                  headers: {
                       "Content-Type": "multipart/form-data"
                }

            })
            .then(response => {
                  console.log(response);
            })
            .catch(error => {
                console.log(error);
            });
...