我是 AngularJs 的新手,我想从我的服务执行多个请求。 到目前为止,我只成功执行了一个请求:
我的服务文件:
ticketServices.factory('Category', ['$resource',
function($resource){
var resource = $resource(
baseUrl('/admin/ticket/?format=json'), {}, {
query: {
method:'GET',
params: {},
isObject: true
}
});
return resource;
}
]);
我的 Controller 文件:
ticketApp.controller('ticketCtrl', ['$scope', 'Category', function ($scope, Category) {
Category.query();
}]);
例如,我希望能够做到这一点:
Category.fecthCities();
Category.fetchMessage();
但我不知道如何将这些请求添加到我的服务中。
如有任何帮助,我们将不胜感激。
最佳答案
如果我理解正确的话,应该是这样的:
JS
fessmodule.controller('fessCntrl', function ($scope, Data) {
$scope.alertSwap1 = function () {
Data.fecthCities()
.then(function (result) {
$scope.cities = result;
}, function (result) {
alert("Error: No data returned");
});
};
$scope.alertSwap2 = function () {
Data.fetchMessage()
.then(function (result) {
$scope.message = result;
}, function (result) {
alert("Error: No data returned");
});
};
});
fessmodule.$inject = ['$scope', 'Data'];
fessmodule.factory('Data', ['$resource','$q', function($resource, $q) {
var cities = [
{
"city": "Tel Aviv"
}
];
var message = [
{
"MyMessage": "Hello mate"
}
];
var factory = {
fecthCities: function () {
var deferred = $q.defer();
deferred.resolve(cities);
return deferred.promise;
},
fetchMessage: function () {
var deferred = $q.defer();
deferred.resolve(message);
return deferred.promise;
}
}
return factory;
}]);
工厂有两个方法:fecthCities
和 etchMessage
。
您可以用 GET 资源替换 static var 城市/消息。
演示 Fiddle
关于javascript - 从 1 个服务执行多个请求 (angularjs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423178/