如果不使用$http,如何在Angularjs中使用成功和错误?
下面是我在angularjs中查询结果集的代码。下面是controller.js和services.js。但是,我希望在我的getResult调用中定义.success和.error,这样我就可以为每个流定义不同的$scope,并相应地在UI上显示它。我搜索了所有我没有使用的$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
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!'
});
}]);