Laravel 5 使用普通 HTML 更新表单
Laravel 5 update form using plain HTML
在 Laravel 5 中,我注意到每当我有一个用普通 HTML 书写的表格时,而不是使用 Form::open
,它需要有一个隐藏的输入令牌字段。
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />
而对于更新记录的表单,则需要<input name="_method" type="hidden" value="PATCH">
在使用普通 HTML 编写表单时,我应该始终拥有这些字段是否正确?如果我仍然用普通的方式写它,还有其他方法吗?HTML?
是的,没错。对于 PATCH(以及基本上所有非 GET 或 POST 动词),除了使用 _method
.
别无他法
这在文档的路由章节中有描述:Method Spoofing
但是您可以禁用 CSRF 保护。我并不是说您应该这样做,但如果您愿意,可以通过从 app/Http/Kernel.php
中的中间件数组中删除 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
来禁用它
这也在文档中:CSRF Protection
在 Laravel 5 中,我注意到每当我有一个用普通 HTML 书写的表格时,而不是使用 Form::open
,它需要有一个隐藏的输入令牌字段。
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" />
而对于更新记录的表单,则需要<input name="_method" type="hidden" value="PATCH">
在使用普通 HTML 编写表单时,我应该始终拥有这些字段是否正确?如果我仍然用普通的方式写它,还有其他方法吗?HTML?
是的,没错。对于 PATCH(以及基本上所有非 GET 或 POST 动词),除了使用 _method
.
这在文档的路由章节中有描述:Method Spoofing
但是您可以禁用 CSRF 保护。我并不是说您应该这样做,但如果您愿意,可以通过从 app/Http/Kernel.php
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
来禁用它
这也在文档中:CSRF Protection