首頁 > 後端開發 > php教程 > **為什麼在 Laravel 中使用 FormData 的 PATCH 和 PUT 請求會失敗?

**為什麼在 Laravel 中使用 FormData 的 PATCH 和 PUT 請求會失敗?

Barbara Streisand
發布: 2024-10-24 18:13:46
原創
1041 人瀏覽過

**Why Do PATCH and PUT Requests with FormData Fail in Laravel?**

Laravel 中帶有FormData 的HTTP PATCH 和PUT 請求

在Laravel RESTful 應用中,經常會遇到PATCH 和PUT 請求檢索失敗的情況使用form-data 從Postman 發送的資料。

問題

使用 form-data 時, $request->all() 方法傳回一個空數組用於 PATCH 和 PUT 請求。這會阻止後端接收預期的參數。

解決方案

要解決此問題,可以採用一種解決方法,將PUT 或PATCH 請求轉換為POST 請求Postman:

  1. 在Postman 中,建立一個新請求並選擇POST 方法。
  2. 導覽至「Body」標籤並選擇「form-data」作為資料格式。
  3. 在「Key」和「Value」欄位中加入所需的參數。

透過修改Postman中的請求類型,資料將作為POST請求成功發送,即使它被作為 PATCH 或 PUT 請求進行路由。

範例

對於透過表單資料傳送資料的POST 要求:

Route::post('testimonials/{testimonial}', 'TestimonialController@update');
登入後複製

在Postman 中使用帶有表單資料的PATCH 或PUT時:

// Request will be received as a POST request
Route::patch('testimonials/{testimonial}', 'TestimonialController@update');
Route::put('testimonials/{testimonial}', 'TestimonialController@update');
登入後複製

注意:

此解決方法可能不符合RESTful 原則,因為它有效地改變了請求類型為POST。然而,它提供了一個功能解決方案,用於透過帶有 PATCH 和 PUT 請求的表單資料傳輸資料。

以上是**為什麼在 Laravel 中使用 FormData 的 PATCH 和 PUT 請求會失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板