Angular $资源未传递完整的URL

时间:2015-05-15 19:12:43

标签: angularjs angularjs-service

自编:

我不确定当我搞了一个帖子时这里的正确协议是什么......但是我搞砸了这个。我在下面提到的日志声明实际上来自账单明细页面的其他正确执行。它是正确的。

我没有看到我想要的billImages请求的日志消息。我确实得到了该服务调用返回的一些数据,我仍在调查原因。

向所有投入脑力的人投以思考我的错误帖子道歉。

我是AngularJS的新手并且正在努力解决这个问题。

我正在使用Angular的$资源来调用我正在编写的NodeJS web服务。

我的服务代码:

(function(){
    'use strict';

    //BillImages service used for communicating with the billImages REST endpoints
    angular.module('bills').factory('BillImages', billImagesService);

    function billImagesService($resource) {
        return {
            getBillImages: getBillImages
        };

        function getBillImages(){
            return $resource(
                'bills/:billId/billImages', 
                {billId: '@_id'},
                {getBillImages: {method: 'GET'}}
            );
        }
    }
}());

当服务器收到请求时,它会带有:

GET /bills/55551963b969c76c241e8e4c 304 47.072 ms - -

我的问题是URL的“/ billImages”部分正在服务调用和服务器之间的某个地方被删除!为什么呢?

我正在尝试创建一个显示单个帐单详细信息的页面,但还会显示该帐单子项的billImages列表。

这是调用角度服务的控制器代码(如果重要),

// Find the latest bill images for the current bill
$scope.findCurrentImages = function() {
    $scope.billImages = BillImages.getBillImages({
        billId: $stateParams.billId
    });
};

我很欣赏改进方法的解决方案和建议。

1 个答案:

答案 0 :(得分:0)

自我回答。

我仍然不清楚这里的一切,但是从以下方面切换控制器:

$scope.findCurrentImages = function() {
    $scope.billImages = BillImages.getBillImages({
        billId: $stateParams.billId
    });
};

为:

$scope.findCurrentImages = function() {
    $scope.billImages = BillImages.query({
        billId: $stateParams.billId
    });
};

通过服务恢复到MeanJS示例应用程序提供的模板:

angular.module('bills').factory('BillImages', ['$resource',
    function($resource) {
        return $resource(
            'bills/:billId/billImages/:billImageId', 
            {billId: '@_id'}, 
            {update: {method: 'PUT'}}
        );
    }
]);

使REST服务调用再次开始。