如何使用AJAX和Eloquent ORM删除记录?

时间:2016-11-20 07:51:47

标签: php ajax eloquent slim

我正在使用Slim框架+ Eloquent ORM。我想删除带有ajax请求的记录。唯一的问题是当我按下按钮来触发请求时,我得到一个405(方法不允许)错误。我的路线是删除路线,我也将类型设置为DELETE

到目前为止,我对我的AJAX请求的内容是什么:

$(".deleteYell").click(function(){
    var id = $(this).data("id");
        token = $(this).data("token");
    $.ajax(
    {
        url: "/yell/"+id,
        type: 'DELETE',
        dataType: "JSON",
        data: {
            "id": id,
            "_method": 'DELETE',
            "_token": token,
        },
        success: function ()
        {
            console.log("it Work");
        }
    });

    console.log("It failed");
}); 

我的路线如下:

$this->delete('/yell/{id}', 'UserController:deleteYell')->setName('deleteYell');

这是用于删除帖子的按钮:

<button class="deleteYell" data-id="{{ post.id }}" data-token="{{ csrf }}" type="button" name="button">Delete</button>

我应该为此工作做些什么改变?

1 个答案:

答案 0 :(得分:2)

你必须使用POST方法。尝试一下

$(".deleteYell").click(function(){
var id = $(this).data("id");
    token = $(this).data("token");
$.ajax(
{
    url: "/yell/"+id,
    type: 'POST',
    data: {
        "id": id,
        "_method": 'DELETE',
        "_token": token,
    },
    success: function ()
    {
        console.log("it Work");
    }
});

console.log("It failed");

});