Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular Js中的routeparams中发送空字符串?_Javascript_Angularjs_Forms_Routeparams - Fatal编程技术网

Javascript 如何在angular Js中的routeparams中发送空字符串?

Javascript 如何在angular Js中的routeparams中发送空字符串?,javascript,angularjs,forms,routeparams,Javascript,Angularjs,Forms,Routeparams,您好,我有一个表单,其中我发送了一个搜索词和类别id。它可以正常工作,因为我正在发送这两个内容,但如果用户没有输入任何内容,则只会显示“类别id”,而在后端,如果搜索项为空,则会向用户显示所有结果 但如果我在route params中发送一个空字符串,我将重定向到我的索引页面。这是我的app.jscode when('/subcategory/:subcatId/:search', { templateUrl: 'partials/subcategory.ht

您好,我有一个表单,其中我发送了一个
搜索词
类别id
。它可以正常工作,因为我正在发送这两个内容,但如果用户没有输入任何内容,则只会显示“类别id”,而在后端,如果
搜索项
为空,则会向用户显示所有结果

但如果我在route params中发送一个空字符串,我将重定向到我的
索引
页面。这是我的
app.js
code

  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>

我认为您应该用问号(?)将搜索条件标记为可选:


查看此答案了解更多信息:

脱帽致敬先生:)是的,它在文档中:在方法
when(路径、路线)下
路径部分参数。如果发送空字符串,我可以再问一个问题吗url会变成类似于此子类别的内容/1/我想删除最后一个“/”不确定是否可以使用一个路由,但我很确定,您可以添加第二条路线,而无需使用相同模板和控制器的
/:search
后缀。
$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();
    }
when('/subcategory/:subcatId/:search?', {
    templateUrl: 'partials/subcategory.html',
    controller: 'SubCategoriesController'
}).