by Devin Yang

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

为何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

需要登入才可留言!

类似文章


dlaravel

D-laravel已添加建议的opcache.ini设置了

最新版本的D-Laravel已添加opcache的建议设置了。 激活方式非常简单,请在D-Laravel目录下运行即可。

dlaravel

D-Laravel v1.5.0新版本了。

一、变更fpm的image生成方式,优化dockerfiles/fpm/php7.x/Dockerfiles,更容易设置及调整扩展包。 二、调整docker-compose-build.yml,并在D-Laravel的Project目录下, 可透过./console build快速创建自己的image罗。 还有更多的变更....

laravel

Laravel 5.7新功能dump-server。

Laravel 5.7.x,artisan命令开始支持并集成了Symfony的倾印伺服器(dump-server)罗。 透过artisan命令,启动dump-server,我们可以将dump的数据显示在console端。