HTTP類型偽裝?
當處理HTML表單時,你只可以使用GET或POST這兩個HTTP動詞。在大多數(shù)情況下,這種情況是沒有問題的。然而為了支持REST-ful格式的路由, 你需要支持其他更為正確的路由動詞。例如DELETE或PUT。由于瀏覽器不支持這種方式,CodeIgniter提供了一種正在使用的偽裝請求類型的方法。 這種方法允許你發(fā)起一個POST請求,但是告訴程序這個請求應(yīng)該被作為另一個請求類型而處理。
為了偽裝請求類型,一個名為 _method
的隱藏輸入字段需要被添加到表單中。這個字段的值應(yīng)當是你希望發(fā)送的請求類型:
<form action="" method="post">
<input type="hidden" name="_method" value="PUT" />
</form>
這個表單就會被轉(zhuǎn)化成一個PUT請求,并且只要路由和IncomingRequest類能識別的話,這就是一個真正的PUT請求。
你所使用的表單必須得是一個POST請求,GET請求無法被偽裝。
注解
請確認你的Web服務(wù)器的配置,因為有些服務(wù)器默認沒有支持所有的HTTP動詞,所以必須添加一些額外的包文件來開啟這項功能。