gpt4 book ai didi

Laravel 4 restful 使用资源 Controller 删除记录

转载 作者:行者123 更新时间:2023-12-02 01:57:26 24 4
gpt4 key购买 nike

我是 Laravel 框架的新手,但我真的很喜欢它。我最大的问题是我一直在寻找如何使用资源 Controller 删除单个记录。

Controller 方法:

public function destroy($id) {
$department = Department::find($id);
$department->delete();
}

删除链接我试过:

<a class="btn btn-xs btn-danger" data-method="delete" href="{{ URL::to('department/' . $department->id) }}"><i class="icon-remove"></i></a>

Javascript:

<script type="text/javascript">
$(function(){
$('[data-method]').append(function(){
return "\n" +
"form action='" + $(this).attr('href') + "' method='post' style='display: none;'>\n" +
"<input type='hidden' name='_method' value='"+$(this).attr('data-method')+"'>\n" +
"</form>\n"
})
.removeAttr('href')
.attr('style', 'cursor: pointer;')
.attr('onclick', '$(this).find("form").submit();');
});

现在当我点击删除链接时,它不起作用。关于我做错了什么的任何想法,我一直在寻找。

最佳答案

使用$.post()触发您的点击而不是该表单创建/提交:

$(document).on("click", "[data-method]", function(e) {
e.preventDefault();

$.post($(this).attr('href'), {/* the id goes here */});
});

通过 CSS 应用光标样式。我必须承认,我不确定 laravel 是否需要 HTTP DELETE 而不是 post。而且我认为您错过了提交要删除的部门的 ID。

[编辑]由于 laravel 期望 HTTP DELETE 你不能使用 $.post() 速记,但是 $.ajax()相反:

$(document).on("click", "[data-method]", function(e) {
e.preventDefault();

$.ajax({
url: $(this).attr('href'),
type: "DELETE",
data: {/* the id goes here */},
success: function(data, textStatus, jqXHR) {
console.log("success");
}
});
});

关于Laravel 4 restful 使用资源 Controller 删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com