2017-06-03 71 views
0

我有一个样本nodejs应用程序与API通过猫鼬mondodb连接。我收到了一堆的反应是这样的(Sinple条目下方)如何删除删除mongodb中的条目时执行jquery ajax删除操作?

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

现在,如果我要删除我将创建一个类似的路由条目:

/tasks/_id 
我在的NodeJS创建

和它工作正常。我需要使用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中,属性名是'method'而不是'type'。第二你删除记录你应该有mongodb记录ID在链接或 像/任务/ mongodbId或/任务/ 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); 
    }); 

    })