【发布时间】:2015-03-11 06:39:04
【问题描述】:
好吧,我想做的很简单。 我有一张这样的桌子:
<table>
<tr ng-repeat="message in messages">
<td>{{message.id}}</td>
<td>{{message.subject}}</td>
<td>{{message.content}}</td>
<td>{{message.date}}</td>
</tr>
</table>
在我的 server.js 中,我这样写了 api
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.find({
where : {
id : idm
}
})
.success(function(messsage) {
Message.destroy({
where :{
id :idm
}
})
.success(function(){
res.status(202).send('deleted message')
})
})
})
$scope.deleteMessage = function(message){
var idm=$state.id
$http.delete('/messages/'+idm,message)
.succes(function(){
$scope.status='deleted'
$state.go($state.current,{},{reload : true})
})
.error(function(){
$scope.status = 'not deleted'
})
}
当我点击我认为的按钮时:
<input type="number" ng-model="message.id" placeholder="Id to delete" />
代码在后端运行,它说:从 id='undefined' 的消息中执行删除。所以我想问题是我没有正确传递 id。
我尝试使用邮递员对某个 id 发出删除请求,它可以工作。 感谢您的宝贵时间。
【问题讨论】:
-
把 $http.delete('/messages/'+idm,message) 改成 $http.get('/messages/'+idm) 试试看!
-
您是否在控制器中添加了 $scope.message ?请复制所有控制器和 HTML
标签: angularjs node.js angular-ui-router sequelize.js