0

リクエストをしようとしています

....port/trimService/fragments/?fragment_name=:fragmentName

ただし、「?fragment_name」をパラメーターにしようとすると、壊れます。より多くのリクエストが発生するため、アクションが変更されるため、リソースの URL 部分に残すことはできません。

angular.module(foo).factory('FragmentService', ['$resource',
function ($resource)
{
    var FragmentService = $resource('.../fragments/:action:fragmentName',
    {},
    {
        'getFragments':
        {
            method: 'GET',
            isArray: true,
            params:
            {
                fragmentName: "@fragmentName",
                action: "?fragment_name="
            }
        }

    });
    return FragmentService;
}
]);

現時点では、自分の URL が実際に何を出力しているのかわかりません。

編集: /u/akonsu が以下で述べたように、リソースを変更しました。まだ正しく動作していないため、コントローラーも追加しました。

angular.module(foo).factory('FragmentService', ['$resource',
function ($resource)
{
    var FragmentService = $resource('.../fragments/',
    {},
    {
        'getFragments':
        {
            method: 'GET',
            isArray: true,
            params:
            {
                fragmentName: "@fragmentName",
            }
        }

    });
    return FragmentService;
}
]);


angular.module(foo).controller('FragmentController', ['$scope', 'FragmentService',
function ($scope, FragmentService)
{
    $scope.fragmentQuery = {
        fragmentName: 'a',
    };


    $scope.fragmentQuery.execute = function ()
    {
        if ($scope.fragmentQuery.fragmentName == '')
        {
            $scope.fragments = {};
        }
        else
        {
            $scope.fragments = FragmentService.getFragments(
            {
                fragmentName: $scope.fragmentQuery.fragmentName,
            });
        }
    };
    $scope.fragmentQuery.execute();

}

]);

4

1 に答える 1

1

リソース URL でクエリ文字列を完全に省略しfragmentName、パラメーターとしてアクション コールに指定するだけにしてください。URL パラメータのリストにない場合は、クエリ文字列に追加する必要があります。

$resource(".../port/trimService/fragments/").get({fragmentName: 'blah'})
于 2013-07-31T20:40:46.860 に答える