2016-02-05 81 views
0

我想这个代码通过ID表达删除路径没有找到

其中的角度,我从控制器 传递标识提示错误代码404说没有找到 代码节点删除特定记录在蒙戈服务器侧文件是:

app.delete('/contactlist/id', function (req, res) { 
var id = req.params.id; 
console.log("in delete"+ id); 
db.contactlist.remove({id : mongojs.ObjectId(id)}, function (err , doc){ 
    res.json(doc); 
    }); 
}); 

和代码中的角度控制器:

$scope.remove = function (id){ 
    console.log(id); 
    $http.delete('/contactlist'+ id).success(function(response) { 
     refresh(); 
    }); 
} 
+2

您在'$ http.delete在你的代码一个错字(”/contactlist'+ id)' - 它应该反映实际的终点,并且你错过了正斜杠'$ http.delete('/ contactlist /'+ id)' – chridam

回答

0

一切正常,除了

$http.delete('/contactlist'+ id) //you forgot additional slash, '/contactlist/'+ id 
.success(function(response) { 
    refresh(); 
}); 

而且

app.delete('/contactlist/id', function (req, res) { //this must be a param '/contactlist/:id' 
    var id = req.params.id; 
    console.log("in delete"+ id); 
    db.contactlist.remove({id : mongojs.ObjectId(id)}, function (err , doc){ 
     res.json(doc); 
    }); 
}); 

总之

添加斜线$http.delete

$http.delete('/contactlist/'+ id).success(function(response) { 
    refresh(); 
}); 

让您的服务器id PARAM。

app.delete('/contactlist/:id', function (req, res) { //colons are important 
    var id = req.param.id; 
    console.log("in delete"+ id); 
    db.contactlist.remove({id : mongojs.ObjectId(id)}, function (err , doc){ 
     res.json(doc); 
    }); 
}); 
+0

谢谢。用于识别错字 –

0

试试下面的代码

app.delete('/contactlist/:id', function (req, res) { 
var id = req.params.id; 
console.log("in delete"+ id); 
db.contactlist.remove({id : mongojs.ObjectId(id)}, function (err , doc){ 
res.json(doc); 
}); 
}); 

你可以看到该文档,从这里URL传递PARAMS:http://expressjs.com/en/api.html