2016-12-15 3 views
2

Привет У меня есть форма, в которой я отправляю searched term и category id. Он отлично работает, поскольку я отправляю обе вещи, но если пользователь не вводит ничего, только «id категории» идет, а в конце, если searched term пуст, все результаты отображаются пользователю.Как отправить пустую строку в rubeparams в угловых Js?

Но если я отправлю пустую строку в параметрах маршрута, я перенаправляю на свою страницу 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(); 
    } 

ответ

1

Я считаю, что вы должны отметить условие поиска, как по желанию пути добавления суффикса его со знаком вопроса (?):

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

См. Этот ответ для получения дополнительной информации o: Can angularjs routes have optional parameter values?

+0

Hats Off Sir :) –

+0

Но .... тогда моя голова остынет;) – Robba

+0

Откуда вы знаете? Это написано в документах? –

Смежные вопросы