AngularJS 中的 Rest Webservice 调用(承诺)

Rest Webservice call in AngularJS ( promise )

AngularJS : 1.4.X
场景 1:工作正常
场景 2:在行 xhr.send(isUndefined(post) ? null : post) 上引发 404 错误;在 angular.js

我正在尝试将内置 angular 缓存添加到我们现有的应用程序中,正如我在场景 1 中提到的,我们在工厂 'restFactory' 中使用 rest 调用并将工厂注入控制器 'bookController',承诺已解决,数据加载正常。

工厂:restFactory

(function () {
    "use strict";
    angular.module('myApp').factory("restFactory",['$http','confi', function($http,config){

    function getBooks (){  
       return $http.get(config.serverName+"bookshelf/rest/books/data/geRestBooks");
    }
    return {
        getBooks : getBooks
    };
}]);
})();

控制器:bookController

   $scope.getComicbooks = function() {
        restFactory.getBooks().then(function(response) {        
            $scope.names = response.data;
        }, function(error) {
            $scope.error = error;
            $scope.names = [];
        });
    };

现在在方案 2 中,我将工厂中的服务调用更改为具有更多详细信息的对象。但是我在解决承诺时从控制器那里得到异常(我只添加了更改的代码)

function getBooks (){  
   return $http.get({
   cache: true,
   method: 'GET',
   url : config.serverName+"bookshelf/rest/books/data/geRestBooks"
   });
}

错误:angular.js:10765 GET http://127.0.0.1:53814/views/[object%20Object] 404(未找到)

网络选项卡:
在场景#1 中,这将是一个方法调用 getBooks

如果您要指定方法,那么您应该只使用 $http 构造函数方法,而不是 get 方法。

而不是

function getBooks (){  
   return $http.get({
      cache: true,
      method: 'GET',
      url : config.serverName+"bookshelf/rest/books/data/geRestBooks"
   });
}

尝试

function getBooks (){  
   return $http({
      cache: true,
      method: 'GET',
      url : config.serverName+"bookshelf/rest/books/data/geRestBooks"
   });
}