В этом коде метод deleteTask не работает. Другие методы работают нормально. С URL-адресом проблем нет. Помогите, пожалуйста..
constructor(private http:Http) {
console.info('task service activated');
}
getTasks(){
return this.http.get('http://localhost:3000/api/tasks').map(res => res.json());
}
addTask(newTask){
console.info(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);
});
});
не используйте mongojs, и в вашем _id есть опечатка, попробуйте этот ({_id: req.params.id}
@Ashish Спасибо .. !!. задача решена. удалено дополнительное подчеркивание ("_id")
@Matt Pengelly Спасибо .. !!. задача решена. удалено дополнительное подчеркивание ("_id")





Я заметил, что вы используете __id вместо _id, который, я думаю, является значением по умолчанию для mongo. Попробуйте это изменить.
Последняя вещь. один из других ваших внутренних маршрутов тоже может помочь задать вопрос. поскольку вы сказали, что они работают. Я заметил, что вы используете __id вместо _id, который, как мне кажется, является значением по умолчанию для mongo. Это кажется необычным, но я сомневаюсь, что это ваша проблема.