如果不使用$http,如何在Angularjs中使用成功和错误?

如果不使用$http,如何在Angularjs中使用成功和错误?,angularjs,angular-resource,Angularjs,Angular Resource,下面是我在angularjs中查询结果集的代码。下面是controller.js和services.js。但是,我希望在我的getResult调用中定义.success和.error,这样我就可以为每个流定义不同的$scope,并相应地在UI上显示它。我搜索了所有我没有使用的$http的地方。由于我是angularjs的新手,你能帮我一下吗 app.controller('DemoCtrl3', ['$scope', 'PFactory', '$location', function ($sco

下面是我在angularjs中查询结果集的代码。下面是controller.js和services.js。但是,我希望在我的getResult调用中定义.success和.error,这样我就可以为每个流定义不同的$scope,并相应地在UI上显示它。我搜索了所有我没有使用的$http的地方。由于我是angularjs的新手,你能帮我一下吗

app.controller('DemoCtrl3', ['$scope', 'PFactory', '$location', function ($scope, PFactory, $location) {

$scope.getResult = function () {
    $scope.allposts = PFactory.postmain.query();
    $location.path('/view2');
}
services.js是:

 return  {
    postmain: $resource('/ngdemo/web/posts', {}, {
        query: {method: 'GET', isArray: true },
        create: {method: 'POST'}
    }),

您可以将
success
error
回调传递给资源操作(
query
create
,等等),并获取响应数据作为回调参数。下面是一个这样做的示例:

HTML

<body ng-controller="ctrl">
  <h1>{{message}}</h1>
</body>
普朗克:

AngularJS文档:

angular.module('app',['ngResource']).
  service('PFactory', ['$resource', function($resource) {
    return {
      postmain: $resource('data.json', {}, {
        query: {method: 'GET', isArray: true },
        create: {method: 'POST'}
      })
    }
  }]).
  controller('ctrl', ['$scope', 'PFactory', function($scope, PFactory) {
    PFactory.postmain.query(function success(data){
      $scope.message = 'Number of records loaded: '+data.length;
    }, function error() {
      $scope.message = 'Server Error!'
    });
  }]);