当我从客户端发送DELETE请求并且服务器确实是服务器端的事情,然后将'消息'发送回客户端已成功删除记录,Angular抛弃了一个奇怪的插值错误。
这是我的删除功能(客户端):
$scope.deleteProduct = function () {
$http.delete('/api/products/product/delete/' + $scope.selectedProduct._id)
.success(function (data) {
console.log(data);
$scope.selectedProduct = {};
$scope.products = data;
$scope.tab = 'view-all';
})
.error(function (data) {
console.log('Error deleting product');
})
};
问题似乎在于行$scope.products = data;
和数据自动刷新以匹配数据库中更新的记录。如果我删除它,没有客户端错误,但我必须手动刷新页面才能看到更新。
这是服务器端DELETE:
app.delete('/api/products/product/delete/:_id', Auth.ensureAdmin, function (req, res) {
console.log(req.params);
products.productsModel.remove({ _id: req.params._id }, function (err, product) {
if (err)
res.send(err)
res.json(product);
console.log('Deleted product');
});
});
答案 0 :(得分:1)
从服务器返回结果时,您将获得已删除产品的ID。因此不应将产品分配给此号码。您应该重复产品并删除已删除的产品。