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

需要登入才可留言!

类似文章


openapi,ai,laravel

在Laravel上写OpenAI测试API

最近好像大家都在讲OpenAI,如果您也想玩,可以在Laravel的API写个简易的API测试哦。因为可以用curl调用,所以透过guzzle就能调用了。如果您登录了openai的网站,可在此处看到官方的教程说明https://beta.openai.com/docs/quickstart/build-your-applicationAPI的KEY的申请,就在这页的下方就有按钮了+ Create new secret key

laravel

奔跑吧Laravel

如果您还没听过D-Laravel,容我介绍一下,D-Laravel为采用docker-compose所创建的Laravel与docker运行环境, 透过简单的bash让我们快速生成Laravel的项目。 本文教您如何使用D-Laravel的提供的docker image,来创建swoole的运行开发环境。 看完这篇,您应该能快速的透过D-Laravel创建出swoole的运行环境罗。

dlaravel

D-Laravel上的.env.example档说明

本文说明关於D-Laravel上的.env设置 MYSQL_ROOT_PASSWORD=secret LARAVEL_INSTALLER='container' DOCKER_SERVICES='docker-compose.yml service/redis.yml'