CodeIgniter4 HTTP 類型偽裝

2020-08-13 16:19 更新

當(dāng)處理HTML表單時(shí),你只可以使用GET或POST這兩個(gè)HTTP動詞。在大多數(shù)情況下,這種情況是沒有問題的。然而為了支持REST-ful格式的路由, 你需要支持其他更為正確的路由動詞。例如DELETE或PUT。由于瀏覽器不支持這種方式,CodeIgniter提供了一種正在使用的偽裝請求類型的方法。 這種方法允許你發(fā)起一個(gè)POST請求,但是告訴程序這個(gè)請求應(yīng)該被作為另一個(gè)請求類型而處理。

為了偽裝請求類型,一個(gè)名為 _method 的隱藏輸入字段需要被添加到表單中。這個(gè)字段的值應(yīng)當(dāng)是你希望發(fā)送的請求類型:

  1. <form action="" method="post">
  2. <input type="hidden" name="_method" value="PUT" />
  3. </form>

這個(gè)表單就會被轉(zhuǎn)化成一個(gè)PUT請求,并且只要路由和IncomingRequest類能識別的話,這就是一個(gè)真正的PUT請求。

你所使用的表單必須得是一個(gè)POST請求,GET請求無法被偽裝。

注解

請確認(rèn)你的Web服務(wù)器的配置,因?yàn)橛行┓?wù)器默認(rèn)沒有支持所有的HTTP動詞,所以必須添加一些額外的包文件來開啟這項(xiàng)功能。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號