Запрос Laravel PATCH не читает данные формы Axios

Я пытаюсь отправить запрос Axios PATCH на API Laravel 5.6. Мой запрос содержит Данные формы.

Конечная точка API Laravel не считывает отправленные данные.

Код ReactJS

let data = new FormData();
data.append("photo", this.state.photo);
// append another data ....

const headers = { 
  'Content-Type': 'multipart/form-data',
  'enctype' : 'multipart/form-data',
  'Authorization' : 'Bearer ' + token 
}

axios({
  method : "PATCH",
  baseURL: this.baseURL,
  url    : url,
  params : params,
  data   : data,
  headers: headers,
}).then(response => {
  return response
})

Запрос патча Laravel

public function update(Request $request, $planId)
{
    $data = $request->all();
    dd($data);
}

Запрос Laravel выводит пустой массив [].

Вы проверили, что содержат данные, отправляемые на сервер?

Nico Haase 12.03.2019 09:13

да, я использую reactjs и redux, и я печатаю данные после того, как отправил их из представления в действие, и печатаю их в действии, и они существуют, но при отправке их в laravel он их не читает

Abeer Elhout 12.03.2019 09:28

@AbeerElhout, пожалуйста, проверьте вкладку сети, чтобы убедиться, что данные отправляются в конечную точку.

phaberest 12.03.2019 09:29

И вы проверили через свою сетевую консоль, какие данные отправляются В самом деле? Кроме того, попробуйте отладить, какие данные попадают на сервер — вы можете использовать другой необработанный PHP-скрипт, чтобы просто сбросить эти данные.

Nico Haase 12.03.2019 09:30

@phaberest да, я сделал эту проверку, и данные существуют

Abeer Elhout 12.03.2019 09:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
5
2 986
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Грустно, но факт: при запросе из браузера Laravel не отвечает должным образом на запросы PATCH или PUT.

Быстрое решение может заключаться в использовании POST и добавлении _method: PATCH в качестве параметра сообщения.

Пожалуйста, попробуйте с этим обновленным кодом

let data = new FormData();
data.append("_method", 'PATCH');
data.append("photo", this.state.photo);
// append another data ....

const headers = { 
  'Content-Type': 'multipart/form-data',
  'enctype' : 'multipart/form-data',
  'Authorization' : 'Bearer ' + token 
}

axios({
  method : "POST",
  baseURL: this.baseURL,
  url    : url,
  params : params,
  data   : data,
  headers: headers,
}).then(response => {
  return response
})

Другой пример той же проблемы можно найти в axios.patch/axios.put не работает в Vue и Laravel.

большое спасибо... Потратив несколько часов на эту проблему.

Oluwaseyitan Baderinwa 04.08.2020 18:34

Я тоже был там, мой друг ;)

phaberest 05.08.2020 01:11

большое спасибо за это ... я тоже боролся с этим с 4 часов

Jood jindy 19.10.2021 12:16

Другие вопросы по теме