获取:undefined不是从web-api获取集合的函数

时间:2014-07-23 23:45:14

标签: angularjs angularjs-scope angularjs-service angularjs-controller angularjs-factory

我有 web api ,在Get上返回IHttpActionResult(myCollection)

我的angular JS 控制器有一个功能:

   $scope.loadcollection = function($defer, params) {
    console.log("inside loadcollection ");
    mySvc.getCollection().then(function(myCollection) {
      //$defer.resolve(myCollection);
        $scope.recievedCollection= myCollection
        console.log("invoices are : ", $scope.recievedCollection);
    });

我在angular JS 中的服务如下:

app.factory('mySvc', ['$resource', '$q', 'serviceHelperSvc',
    function($resource, $q, serviceHelper) {
    var myObject= serviceHelper.collectionObj;

        var getCollection= function() {

          /*  var d = $q.defer();
            var resp = Invoice.query();
            console.log("resp is : ", resp);
            d.resolve(true);

            return d.promise;*/
            return myObject.query();
        };
}]);

我的serviceHelperSvc如下:

app.factory('serviceHelperSvc', ['$http', '$resource',
function($http, $resource) {
    var config = {
        "apiurl": "http://localhost:8000/"
    }

    var baseUrl = config.apiurl;
    var buildUrl = function(resourceUrl) {
        return baseUrl + resourceUrl;
    };

    var addRequestHeader = function(key, value) {

    };
    return {
        AuthorizationToken: $resource(buildUrl("Token"), null, {
            requestToken: {
                method: 'POST',
                headers: {
                    "Content-Type": "application/x-www-form-urlencoded"
                }
            }
        }),
        collectionObj: $resource(buildUrl('api/CollectionObj/:CollectionObjId'), {
            CollectionObjId: '@Id'
        }, {
            'update': {
                method: 'PUT'
            }
        })
    };
}
]);

当我尝试运行它时,我得到的未定义不是mySvc.getCollection().then(function(myCollection)

的函数 在then(function(myCollection)之前

当我尝试使用延迟承诺方法时,我在同一个地方发出$promise is not defined

的异常

0 个答案:

没有答案
相关问题