Laravel调用,而不是@Destroy
@show我有我的路线的问题Laravel(V 4.2)..Laravel调用,而不是@Destroy
查看:
{{ Form::open(['method' => 'DELETE', 'route' => ['admin.users.destroy', $user->user_id]]) }}
<td><button type="submit" style="...">Delete</button></td>
{{ Form::close() }}
路线:
Route::resource('admin/users', 'App\Controllers\Admin\UserIndexController');
控制器:
public function show() {
echo "show";
}
public function destroy() {
echo 'destroy';
}
当按钮是c尽管它总是打印出“秀”。为什么是这样?
编辑答案:
Routes.php
Route::resource('admin/users', 'UserIndexController');
{{ Form::open(['method' => 'DELETE', 'route' => ['admin.users.destroy', $user->user_id]]) }}
<td><button type="submit" style="...">Delete</button></td>
{{ Form::close() }}
public function show() {
echo "show";
}
public function destroy() {
echo 'destroy';
}
我正在 “摧毁” 作为输出。
我添加了类型属性,但它仍然打印出“显示” – toddddos
请找到编辑的答案 –
HTML表单无法制作PUT
,PATCH
或DELETE
请求,因此您需要使用Laravel进行欺骗。
添加到您的形式...
<input type="hidden" name="_method" value="delete" />
我相信,因为表单生成器已经从核心移除,现在正由LaravelCollective
管理,这通常是不Laravel的较新版本的问题这将处理自动添加此输入。
这是由laravel自动添加的(当在浏览器中检查元素时),这不是问题然后..从我的网络选项卡浏览器即时通讯仍然得到GET方法,而不是删除 – toddddos
是的,这只会是GET或POST。 Laravel应该阅读隐藏的输入,如果它在那里,并确定它基于什么类型的请求。 – user3158900
是的。但它并不是。 – toddddos
您的按钮实际上并没有做任何事情。它需要是一个提交按钮,或使用JavaScript来使用它来提交表单。 – aynber
@aynber仍然一样 – toddddos
打开浏览器控制台,并在按下按钮时观看“网络”选项卡。请求使用什么方法? – aynber