Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

PUT запрос PHP laravel

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

По дате
По рейтингу
Аватар пользователя
Новичок

Прежде всего, убедитесь, что вы правильно настроили маршрут в файле routes/web.php, чтобы он соответствовал вашему контроллеру. Для PUT-запроса маршрут должен выглядеть как-то так:

1
 Route::put('user/{id}', [EmployeeController::class, 'update']);  

Если маршрут правильно настроен, то можно использовать JavaScript или любую другую библиотеку для отправки PUT-запроса. Пример использования JavaScript:

12345678910111213141516171819202122
 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 и телом запроса, содержащим данные для обновления. Обновленные данные будут переданы в ваш контроллер, который может использовать их для обновления записи в БД.

Аватар пользователя
Мыслитель

выполни php artisan route:list и там проверь, что роут правильный. И твое "перестает работать контроллер" абсолютно не информатировно. Гадалки на вопросы по php насколько я знаю, не отвечают