Я пытаюсь отправить запрос 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 выводит пустой массив [].
да, я использую reactjs и redux, и я печатаю данные после того, как отправил их из представления в действие, и печатаю их в действии, и они существуют, но при отправке их в laravel он их не читает
@AbeerElhout, пожалуйста, проверьте вкладку сети, чтобы убедиться, что данные отправляются в конечную точку.
И вы проверили через свою сетевую консоль, какие данные отправляются В самом деле? Кроме того, попробуйте отладить, какие данные попадают на сервер — вы можете использовать другой необработанный PHP-скрипт, чтобы просто сбросить эти данные.
@phaberest да, я сделал эту проверку, и данные существуют






Грустно, но факт: при запросе из браузера 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.
большое спасибо... Потратив несколько часов на эту проблему.
Я тоже был там, мой друг ;)
большое спасибо за это ... я тоже боролся с этим с 4 часов
Вы проверили, что содержат данные, отправляемые на сервер?