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

需要登入才可留言!

类似文章


docker,laravel

用Docker创建Lravel开发环境超简单

Laravel 5.5系统环境您准备好了吗? laravel/framework 5.5.x-dev requires php &gt;=7.0 -&gt; your PHP version (5.6.30) does not satisfy that requirement. 这篇文章描述如何使用Docker创建Laravel的开发环境。 有了简单到爆炸的D-Laravel简易bash, 不要在说我无法创建Laravel的开发环境了。

dlaravel

哈,我成功让D-Larave在树莓派ARM的环境运行罗

这次买树莓派是觉的这个东西很好玩,另外就是我家中的Mac环境太新了,无法正常编译Line Simple Beacon, 透过树莓派,轻松易用,环境上也不会有什么问题,当然还有更多更多的运用。 但身为D-Laravel的作者,当然要来顺便试试看.....

laravel,oauth2

我最常用的Laravel passport命令

Laravel提供了相当多好用的Package,像Passport就是其中之一,当网站需要自架OAuth2验证主机时,真的是省时省力。本站为例,因为采前后台分离机制(有两个不同的Laravel项目),我都透过前台的WEB进行验证。基本上,我还有很多其他不同的项目,也都靠Laravel提供的OAuth2就搞定跨域验证。