建立于: 6年前 ( 更新: 6年前 )
为何Laravel需要有Form Method Spoofing呢?
因为HTML表单并不支持PUT、PATCH及DELETE等动作,因此在Laravel上
在提交HTML表单送出时,我们需要透过一个隐藏的_method输入栏,作为HTTP的请求发送。
这样Laravel的Restful风格路由才可以知道这个请求是PUT还是PATCH...等。
在Laravel 5.5版前,表单可使用埋入两个隐藏input栏位:
因为HTML表单并不支持PUT、PATCH及DELETE等动作,因此在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>
No Comment
Post your comment