问题
I have a expressjs controller
exports.update = function(req, res, next) {
var id = req.params.id
User.findByIdAndUpdate(id, req.body, function(err, user) {
if (err) {
return next(err);
} else {
res.json(user);
}
});
}
and a route
app.route('/api/users/:id').put(users.update);
which is working fine to update user with Postman. However, my frontend part
$scope.updateUser = function(id) {
$http.put('/api/users/' + id, $scope.userData)
.success(function(userData) {
console.log(userData);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
is not working on data-ng-click="updateUser(userData._id)" button within a form like
<input type="text" class="form-control input-xs" data-ng-model="userData.username">
<input type="text" class="form-control input-xs" data-ng-model="userData.email">
I get a PUT /api/users/551d468b53ac2cef3b000001 200 35.887 ms - 390 Response. Please note the form is in a modal box. with {{ index }}
<button type="button" data-toggle="modal" data-target="#actionModal{{$index}}" data-ng-click="Clear()"></button>
<div class="modal fade" id="actionModal{{$index}}" tabindex="-1" data-role="dialog">
来源:https://stackoverflow.com/questions/29431984/put-method-in-angular