Angular $resource 未通过完整 URL

Angular $resource not passing the full URL

自我编辑:

当我弄乱 post 时,我不确定这里的正确协议是什么...但是我搞砸了这个。我在下面注意到的日志语句实际上来自其他正确执行的账单详细信息页面。它是正确的。

我没有看到我尝试发出的 billImages 请求的日志消息。不过,我确实收到了该服务调用返回的一些数据,我仍在调查原因。

向任何投入脑力思考我的错误的好心人道歉post。


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

我正在使用 Angular 的 $resource 来调用我也在编写的 NodeJS 网络服务。

我的服务代码:

(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 列表。

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

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

如果能提供解决方案和改进方法的建议,我将不胜感激。

自己回答。

我仍然不清楚这里的所有内容,但是将控制器从:

$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 服务调用再次开始。