PUT-запрос с formData не может быть обновлен с использованиемact.js и laravel - PullRequest
0 голосов
/ 01 ноября 2019

Я не получаю формоданные в конечной точке Api, которые отправляются методом fetch и PUT.

Я использовал метод POST, и он сработал, что, я думаю, не рекомендуется для обновления. У меня есть реакция на localhost: 3000 и laravel-API на localhost: 5000.

Это маршрут в API

Route::put('updateSlide/{id}', 'SlidesController@updateSlide');

Это то, что находится в контроллере

public function updateImage(Request $request, int $id)

{

    $image = $this->slideRepo->findSlideById($id)->image;


    if ($image) {
        $result = Storage::disk('ucmp')->delete($image);
    }

    if ($request->hasFile('image') && $request->file('image') instanceof UploadedFile) {
        return  $this->slideRepo->saveCover($request->file('image'));

    }        // return response()->json($data);

    // data is an array (note)
    return null;
}


public function updateSlide(Request $request, int $id)
{
    $imageUrl=$this->updateImage($request, $id);

    return response()->json($this->slideRepo->updateSlide([
        'caption' => $request['caption'],
        'image' => $imageUrl,
        'url' => $request['url']
    ],$id));
}

Это функция, отправляющая выборку

export const updateSlideApi = (token, _slide, id) => {
  return {
    url: `${BASE_URL}/api/updateSlide/${id}`,
    opt: API.requestOptions("PUT",token,null,{ body: _slide }, true)
  };
};

В моем заголовке нет содержимого типа.

Я ожидаю данные json от функции API laravel, ноу меня ошибка "могу только бросать объекты"

1 Ответ

0 голосов
/ 01 ноября 2019

PHP не анализирует тело запроса PUT.

Используйте POST и добавьте параметр _method со значением PUT.

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