在Laravel中删除带有JSON的条目

时间:2017-04-20 12:46:40

标签: php jquery json ajax laravel

我有一个动态生成的表,也有这个按钮:

<button class="btn btn-danger btn-xs btn-delete delete-task" 
value="{{$contact->id}}">delete</button>

在代码的最后我有这个:

<meta name="_token" content="{!! csrf_token() !!}" />

按钮触发:

$(document).ready(function(){

$('.delete-task').click(function(){
    var contact_id = $(this).val();

    $.ajax({
        type: "DELETE",
        url: adressbook_edit + '/' + contact_id,
        success: function (data) {
            console.log(data);
            $("#contact" + contact_id).remove();
        },
        error: function (data) {
            console.log('Error:', data);
        }
    });
});
}

这应该导致我这样的路线:

Route::delete('/adressbook_edit/{$contact_id?}',function($contact_id){
    $contact = addressbook::destroy($contact_id);
    return Response::json($contact);
});

我希望删除数据库中的条目,但是我收到404错误。方向显然是正确的。这是我得到的错误:

  

删除http://myip/adressbook_edit/2 404(未找到)发送@ app.js:26   ajax @ app.js:25(匿名)@adressbook.js:79 dispatch @ app.js:25   g.handle @ app.js:25 adressbook.js:87

     

错误:对象{readyState:4,   getResponseHeader:function,getAllResponseHeaders:function,   setRequestHeader:function,overrideMimeType:function ...}

Adressbook.js是调用上述ajax函数的地方。

1 个答案:

答案 0 :(得分:1)

尝试将您的ajax网址更改为:

 url: '/adressbook_edit/' + contact_id

并改变你的路线:

Route::delete('/adressbook_edit/{contact_id}',function($contact_id){
    $contact = addressbook::destroy($contact_id);
    return Response::json($contact);
});