2

こんにちは、 と を送信するフォームがsearched termありcategory idます。両方を送信しているので問題なく動作しますが、ユーザーが何も入力しない場合は「カテゴリ ID」のみが送信され、バックエンドsearched termで空の場合はすべての結果がユーザーに表示されます。

しかし、ルート パラメータで空の文字列を送信すると、自分のページにリダイレクトされindexます。これは私のapp.jsコードです。

  when('/subcategory/:subcatId/:search', {
                templateUrl: 'partials/subcategory.html',
                controller: 'SubCategoriesController'
            }).

私のフォーム

   <form name="searchCategoryForm">
                <div class="col-md-9 col-xs-10 col-sm-10">
                    <input class="form-control" placeholder="Find your item here...." ng-model="search" type="text" style="color:#09669c;">
                </div>
                <div class="col-md-2 col-xs-2 col-sm-2">
                    <a class="btn btn-primary" role="button" href='#/subcategory/{{cats[clicked_category].id}}/{{search}}'> Search</a>                  
                </div>
            </form>

私のcontroller.js

$scope.search_term = $routeParams.search;
    $scope.category_id = $routeParams.subcatId;

    /* Search category form */


    $scope.search_category = function () {
        $http({
            method: 'GET',
            url: 'abc',
            params: {"name": $scope.search_term, "category_id": $scope.category_id},
            headers: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': $rootScope.keyword_auth_token}
        })
                .success(function (data) {
                    $scope.search_category_result = data.items;
                    console.log($scope.search_category_result);
                    })
                .error(function (data) {
                    console.log(data);
                });
    };
    /* Search category form ends here*/
    if ($scope.search_term && $scope.category_id)
    {
        $scope.search_category();
    }
4

1 に答える 1

1

検索用語の末尾に疑問符 (?) を付けて、検索用語をオプションとしてマークする必要があると思います。

when('/subcategory/:subcatId/:search?', {
    templateUrl: 'partials/subcategory.html',
    controller: 'SubCategoriesController'
}).

詳細については、この回答を参照してください: angularjs ルートにはオプションのパラメーター値を使用できますか?

于 2016-12-15T07:52:26.537 に答える