【问题标题】:Laravel 5: put, patch and delete requests without using Form builderLaravel 5:在不使用表单构建器的情况下放置、修补和删除请求
【发布时间】:2014-11-24 17:19:06
【问题描述】:

由于在 Laravel 5 中没有表单构建器类(你可以添加它,我知道),我如何在不使用任何表单构建器类的情况下发出 put、patch 和删除请求以匹配这些路由,只是普通的 Laravel?

【问题讨论】:

    标签: laravel laravel-4 request put laravel-5


    【解决方案1】:

    您应该尝试添加:

    <input name="_method" type="hidden" value="DELETE">
    

    到您的表格。这就是表单生成器在 Laravel 4 中所做的 - 它只是添加名称为 _method 的隐藏输入。

    当然对于上面示例中的DELETE 值,您可以使用任何其他方法

    【讨论】:

    • 你真的推荐使用这个而不是常规的 POST 方法吗?我在某处读到,这种欺骗只是出于语义原因并保持 REST 原则不变,因为更改方法实际上具有任何功能
    • @LuukVanDongen 据我所知,这是一种允许除了 put 和 post 之外的请求的技术。因此,如果您只是将 method="post" 添加到表单中,那么 POST 可能会起作用,但是我没有测试它,因为我使用表单生成器来创建表单
    • 好的,但同样可以通过使用 post 方法和不同的端点来实现。例如在 /products/312/delete 上执行 POST 可能具有与 /products/312 上的 DELETE 方法相同的功能。所以对于功能来说,它不是强制性的。
    • 这可能有助于澄清请求:stackoverflow.com/a/14757041/1317935 - 但 Marcin 是 100% 正确的 - 这就是这样做的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多