Laravel 中面對令人沮喪的「當路由不支援POST 方法」錯誤時,初學者經常會遇到困惑。此錯誤通常在嘗試使用 POST 方法提交表單時遇到,但路由配置將其限制為 GET 和 HEAD 方法。
Laravel 使用全面的路由系統管理 HTTP 請求並將其對應到特定操作或控制器。在您提供的程式碼中,經過驗證的使用者的路由群組使用各自的方法和 URI 定義了各種路由。
具體來說,專案資源的編輯路由配置為使用GET 方法。這表示它在存取編輯視圖時需要GET 請求:
<code class="php">Route::get('/projects/{id}/edit', 'ProjectController@edit');</code>
但是,ProjectController 中的edit() 方法被宣告為處理PUT 請求:
<code class="php">public function edit($id) { }</code>
路由中預期的HTTP 方法與控制器中宣告的方法之間的不匹配可能會導致POST 方法錯誤。
要解決此錯誤,請確保路由配置中指定的方法與控制器方法中使用的方法相符。在這種情況下,您應該更改 edit() 方法以使用 PUT 方法:
<code class="php">public function edit(Request $request, $id) { }</code>
此外,請確保編輯視圖中的表單使用正確的 HTTP 方法。對於這個錯誤,應該是使用PUT方法:
<code class="html"><form action="/projects/{{ $id }}" method="PUT"></code>
通過匹配路由和控制器中的方法,並在表單中使用正確的方法,可以防止“The POST method is not支持此路線”錯誤並允許正確提交表單。
以上是為什麼我在 Laravel 中收到「此路由不支援 POST 方法」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!