0

我是 AngularJs 的新手,我想从我的服务中执行几个请求。到目前为止,我设法只执行了一个请求:

我的服务文件:

ticketServices.factory('Category', ['$resource',
    function($resource){
        var resource = $resource(
            baseUrl('/admin/ticket/?format=json'), {}, { 
                query: {
                    method:'GET',
                    params: {},
                    isObject: true
                }
            });
            return resource;
    }
]);

我的控制器文件:

ticketApp.controller('ticketCtrl', ['$scope', 'Category', function ($scope, Category) {
    Category.query();
}]);

例如,我希望能够做到这一点:

Category.fecthCities();
Category.fetchMessage();

但我不知道如何将这些请求添加到我的服务中。

任何帮助,将不胜感激。

4

1 回答 1

2

如果我理解正确,它应该是这样的:

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;
}]);

工厂有两种方法:fecthCitiesetchMessage

相反,您可以用 GET 资源替换静态变量城市/消息。

演示Fiddle

于 2013-10-17T09:46:11.847 回答