http.delete()在Angular 2中不起作用

时间:2018-06-09 16:17:21

标签: node.js angular mongodb express

deleteTask 方法在此代码中无效。其他方法工作正常。 URL没有问题。请帮帮我..

constructor(private http:Http) {

    console.log('task service activated');

}

getTasks(){
    return this.http.get('http://localhost:3000/api/tasks').map(res => res.json());
}

addTask(newTask){
    console.log(newTask);
    var headers = new Headers();
    headers.append('Content-Type','application/json');
    return this.http.post('/api/task',JSON.stringify(newTask),{headers:headers}).map(res => res.json());


}

deleteTask(id){

    return this.http.delete('http://localhost:3000/api/task/'+id).map(res => res.json());
 }

这是后端代码

router.delete('/task/:id',function(req, res, next){

  db.tasks.remove({__id: mongojs.ObjectId(req.params.id)}, function(err,task){

   if(err){
     res.send(err);
   }

   res.json(task);
 });

});

1 个答案:

答案 0 :(得分:0)

我注意到你使用__id而不是_id,我认为这是mongo的默认值。尝试改变它。