HTTP 方法欺骗

在使用 HTML 表单时,您只能使用 GET 或 POST HTTP 动词。在大多数情况下,这很好。但是,为了支持 RESTful 路由,您需要支持其他更正确的动词,例如 DELETE 或 PUT。由于浏览器不支持此功能,CodeIgniter 提供了一种欺骗正在使用的方法的方法。这允许您发出 POST 请求,但告诉应用程序应将其视为不同的请求类型。

要欺骗方法,一个名为 _method 的隐藏输入将被添加到表单中。它的值是您希望请求使用的 HTTP 动词

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

此表单被转换为 PUT 请求,并且就路由和 IncomingRequest 类而言,它是一个真正的 PUT 请求。

您使用的表单必须是 POST 请求。GET 请求无法被伪造。

注意

请确保检查您的 Web 服务器配置,因为某些服务器在默认配置下不支持所有 HTTP 动词,需要启用额外的软件包才能正常工作。