在laravel中不使用表单删除记录
Posted
技术标签:
【中文标题】在laravel中不使用表单删除记录【英文标题】:Delete a record without using form in laravel 【发布时间】:2017-02-14 19:50:01 【问题描述】:需要在不使用表单标签的情况下删除记录。只需在 url 中传递一个 id 并获取一个需要处理的 id。
谢谢
【问题讨论】:
请添加一些附加信息。 【参考方案1】:按照以下步骤进行
HTML
<a href="#" thisRecordId="$id" id="btnDelete">Delete</a>
JS
$('a#btnDelete').on('click',function()
var thisElement = $(this);
$.ajax(
type: 'post',
url: "url('/')" + '/deleteRecord/'+thisElement.attr('thisRecordId'),
data : '_token': '!! csrf_token() !!',
async: false,
success:function(response)
console.log(response)
);
);
路线
Route::post('deleteRecord/id','YourController@deleteRecord');
控制器
public function deleteRecord($id)
$findRecord = ModelName::findOrFail($id);
$findRecord->delete();
return 'success';
希望您能找到解决方案!
【讨论】:
【参考方案2】:这样试试
<a type="button" class="label label-danger" href="/user/delete/$user->id">Delete</a>
控制器方法
public function getDelete($id)
echo $id;
【讨论】:
这实际上有点“危险”,因为 Laravel 不会检查 CSRF 令牌... 非常糟糕......任何人都可以用这种方法删除它......你甚至不必在页面上,你只需在地址栏中输入路线,它就会被删除跨度> 是的......你是对的......在这种情况下,我们可以检查身份验证登录和用户权限......我只是简单地给出一个解决方案......以上是关于在laravel中不使用表单删除记录的主要内容,如果未能解决你的问题,请参考以下文章