Hi,
I am trying to use $resource in a simple Todo example. I am able to create
a todo and it updates the page right away , but it also reload the whole
page.I have the same example with $http and it work fine. The problem, I
think, is that I use $scope.todos = Todo.query(); to reload the data after
I create a new Todo. In the $http example, I use a the callback data from
the server instead. Anybody can help me? Thank yo u
*Here is my server side code:*
app.get('/api/todos', auth, function(req, res) {
// use mongoose to get all todos in the database
Todo.find(function(err, todos) {
// if there is an error retrieving, send the error. nothing after
res.send(err) will execute
if (err)
res.send(err)
res.json(todos); // return all todos in JSON format
});
}); /*get todos*/
app.post('/api/todos', auth, function(req, res) {
// create a todo, information comes from AJAX request from Angular
Todo.create({
text : req.body.text,
done : false
}, function(err, todo) {
if (err)
res.send(err);
// get and return all the todos after you create another
Todo.find(function(err, todos) {
if (err)
res.send(err)
res.json(todos);
});
});
});
*Here is the code I use with $resource: *
app.factory('Todo',
function($resource) {
return $resource('api/todos/:todos',{todos:'@todos'})
});
$scope.todos = Todo.query();
$scope.createTodo=function(){
Todo.save($scope.formData,function(){
$scope.formData={};
$scope.todos = Todo.query();
});
};
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.