2017-06-03 21 views
0

mongooseで接続されたmondodbにapiを持つサンプルnodejsアプリケーションがあります。削除がmongodbのエントリを削除するときにjquery ajaxの削除操作を実行するには?

/tasks/_id 
私はnodejsで作成した

と:私は回答の束にこの(以下Sinpleエントリ)のようなもの今、私は私のようなルートを作成するエントリを削除する必要がある場合は

{ 
    name:"Task1" 
    status:["pending"] 
    0:"pending" 
    __v:0 
    _id:"592d6a398eb24a9ac85d1184" 
    } 

を取得しますそれはうまく動作します。私はajaxの削除操作を使用して削除操作を実行する必要があります。レコードを削除するajaxで/ tasks/_idのようなルートを作成するにはどうすればいいですか?以下は私のコードです。

 $.ajax({ 
     type:'DELETE', 
     url:'/tasks/' + how to get _id here from mongodb, which could be available only on successful ajax operation, 

     success : function(data) { 
      console.log('success); 
     }, 
     error : function() { 
     console.log('error'); 

     } 
    }) 

答えて

0

まず、ajaxのプロパティ名は 'type'ではない 'method'です。第2にあなたはmongodbレコードIDをリンクに入れるべきか、または/ tasks/mongodbIdや/ tasks/343sddfsdf3434のようなフロントエンドの のレコードを削除してください。あなたはいくつかのループなどで表示または印刷することができます または仮定var id = task._id;

<a id="link" data-mongo-id="sfsdfs4343dsfds" href="tasks/sfsdfs4343dsfds">link<a/> 

フロントエンドからajaxメソッドを呼び出すことができます。

$.ajax({ 
     method:'DELETE', 
     url:'/tasks/' + $("#link").attr('data-mongo-id'), 

     success : function(data) { 
      console.log('success); 
     }, 
     error : function() { 
     console.log('error'); 

     } 
    }) 

バックエンドで、あなたは

var express = require('express') 
var app = express() 

app.delete('tasks/:mongo_id', function (req, res) { 
///your mongose delete query 

Task.findByIdAndRemove(req.params.mongo_id, function (err, task) { 

var response = { 
    message: "task successfully deleted", 
    id: req.mongo_id 
}; 
    res.send(response); 
    }); 

    }) 
のような方法を使用することができます
関連する問題