Recommended way of getting data from the server There are cases when $resource may not be appropriate when talking to backend. This shows how to set up $resource like behavior without using resource.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | angular.module('myApp').factory('Book', function($http) { // Book is a class which we can use for retrieving and // updating data on the server var Book = function(data) { angular.extend(this, data); } // a static method to retrieve Book by ID Book.get = function(id) { return $http.get('/Book/' + id).then(function(response) { return new Book(response.data); }); }; // an instance method to create a new Book Book.prototype.create = function() { var book = this; return $http.post('/Book/', book).then(function(response) { book.id = response.data.id; return book; }); } return Book; }); |
Then inside your controller you can:
1 2 3 4 5 6 7 8 9 10 11 12 | var AppController = function(Book) { // to create a Book var book = new Book(); book.name = 'AngularJS in nutshell'; book.create(); // to retrieve a book var bookPromise = Book.get(123); bookPromise.then(function(b) { book = b; }); }; |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.