CodeIgniter4 HTTP 類(lèi)型偽裝

2020-08-13 16:19 更新

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

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

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


</form>

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

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

注解

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)