Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PUT запрос PHP laravel

Иван Сорокин Профи (866), закрыт 11 месяцев назад
Добрый вечер, я уже 2 дня мучаюсь с вопросом, подскажите, какой есть способ отправить PUT запрос не используя форму, задача такая. С помощью формы POST запросом отправляю данные в БД. Потом с помощью роута Route::put('user/{id}', [EmployeeController::class, 'update']);
используя например постмен прописав url подключиться к классу и дальше работать с бд, когда я ставлю get то всё отлично работает а когда я ставлю put что в роуте что в постмене у меня перестаёт работать контроллер
Лучший ответ
Беспрекословный Эксперт Мыслитель (5757) 12 месяцев назад
Прежде всего, убедитесь, что вы правильно настроили маршрут в файле routes/web.php, чтобы он соответствовал вашему контроллеру. Для PUT-запроса маршрут должен выглядеть как-то так:

 Route::put('user/{id}', [EmployeeController::class, 'update']);  
Если маршрут правильно настроен, то можно использовать JavaScript или любую другую библиотеку для отправки PUT-запроса. Пример использования JavaScript:
 const id = 123; // id пользователя, которому нужно обновить данные 
const data = { name: 'John', age: 30 }; // данные для обновления

fetch(`/user/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => {
console.error('There was an error!', error);
});
Этот код отправляет PUT-запрос на адрес /user/123 с заголовком Content-Type: application/json и телом запроса, содержащим данные для обновления. Обновленные данные будут переданы в ваш контроллер, который может использовать их для обновления записи в БД.
Иван СорокинПрофи (866) 12 месяцев назад
Маршрут у меня построен правильно, если я ставлю вместо PUT например GET то контроллер отрабатывает идеально. К тому же это задание из курсов, так что не думаю что предполагали использовать JS прописывая задачу
Остальные ответы
Dedarus Мыслитель (5109) 12 месяцев назад
выполни php artisan route:list и там проверь, что роут правильный. И твое "перестает работать контроллер" абсолютно не информатировно. Гадалки на вопросы по php насколько я знаю, не отвечают
Похожие вопросы