by Devin Yang

建立于: 7年前 ( 更新: 7年前 )

为何Laravel需要有Form Method Spoofing呢?
因为HTML表单并不支持PUTPATCHDELETE动作,因此在Laravel
在提交HTML表单送出时,我们需要透过一个隐藏的_method输入栏,作为HTTP的请求发送。
这样Laravel的Restful风格路由才可以知道这个请求是PUT还是PATCH...等。

Laravel 5.5版前,表单可使用埋入两个隐藏input栏位:
<form action="/foo/bar" method="POST">
    <input type="hidden" name="_method" value="PUT">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
或是
<form action="/foo/bar" method="POST">
    {{ method_field('PUT') }}
    {{ csrf_field() }}
</form>
Laravel 5.6版后,我们也可以透过Blade directive达到相同的效果:
<form action="/foo/bar" method="POST">
    @method('PUT')
    @csrf
</form>

 

Tags: laravel

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


laravel範例,laravel教學,livewire範例,laravel

如何在Laravel Livewire组件设置中文化的错误信息

本文透过简易的Laravel livewire范例,看看livewire组件如何验证使用者输入错误,并显示中文错误信息。

dlaravel

安全的更新D-Laravel

如何升级目前的D-Laravel。 如果您目前使用环境上很顺,没碰到问题,可以不用更新。 如果您想采用最新的版本,及bug修正等,请仔细阅读本文, 为了确保顺利升级,以下是建议的D-Laravel升级方式。

laravel,docker

如何自定义Laravel分页

最近闲了一点,想说来调整一下网站上下页的箭头,如果您还不太了解如何自定义Laravel的分页, 可以来看看三分钟简短的介绍,我如何自定义Laravel的分页。