我无法更新我的联系人

时间:2018-06-16 03:06:08

标签: angularjs mean-stack

我在MEAN Stack上阅读了一些教程,我正在研究几乎完成的教程,直到我尝试了更新功能。我继续接收400消息,当我查看chrome dev工具时,在网络选项卡下,我读到了响应,即" _id"是不允许的。

这是更新功能

$scope.update = () => {
    console.log($scope.contact._id);
    $http.put('/api/contacts/updatecontact/' + $scope.contact._id, $scope.contact)
    .then(function(data) {
        alert('Data was updated Successfully');
        refresh();
    });
  };

这是api。

app.put('/api/contacts/updatecontact/:id', (req, res) => {
const id = req.params.id;
console.log(req.body.name);
 // validation
 const { error } = validateInput(req.body);
 if (error){
     return res.status(400).send(error.details[0].message);
 }
const updatedContact = Contact.where({ _id: id });
updatedContact.update({
    $set: { name: req.body.name, email: req.body.email
    }
}, (err, contact) => {
    if(err){
        console.log('error occured');
    }

    res.json(contact);
    console.log('contact successfully updated');
});
console.log(updatedContact);

});

希望我能得到一些帮助。

1 个答案:

答案 0 :(得分:1)

似乎node.api正在验证您传递的json对象。确保您发送的属性来自客户端。

确保您没有验证或删除节点上的验证。