【发布时间】:2018-10-11 09:24:49
【问题描述】:
我正在尝试使用 ajax+laravel 填充我的数据库。但是当我试图发布我的删除按钮时,我得到了一些错误。 2 准确地说 1)我找不到一种方法让它从控制器内部调用destroy函数 2)我的刀片内部的 Javascript 没有执行(在刀片内部创建按钮时工作)我有问题的按钮
<form method="post" class="delete_form" action=" $this->callAction(\\'destroy\\', [\\'id\\' => $row[\\'id\\']]); ">
<input type="hidden" name="_method" value="DELETE"/>
<button type="submit" class="btn btn-outline-danger">Delete</button>
</form>
我正在尝试从同一个控制器内部执行此操作(这部分有效,我在刀片中创建了一个按钮(用于测试))
public function destroy($id)
{
$userList = users::find($id);
$userList->delete();
return redirect()->route('users.index')->with('successs', 'Data Deleted');
}
【问题讨论】:
-
"我的问题按钮" 这不是
<button>,而是<form>。该动作应该指向一个路由,而不是调用控制器方法。 -
嗨,我更新了代码只是为了更清楚。我想我尝试了你的建议 {{ route('users.destroy', ['id' => $row['id']]) }}" 但它根本没有执行。就像我在点击一个空按钮
-
您在编辑后的操作可能不起作用,因为它不是通过 Blade 解析的。 (您可以尝试
{{ route('users.destroy') }}为您的action)。$id应该是表单中的输入/隐藏字段,而不是表单的操作。您还需要在表单中添加@csrf。
标签: php laravel controller