如何在Angularjs中添加get request参数

时间:2017-01-04 13:38:37

标签: javascript angularjs

如何在urjs中将url的get请求参数添加到控制器中 例如我的请求是http://localhost/abc-ang/#!/abc/8,我的控制器代码是

app.controller('AbcCtrl', function($scope,$http) {
   $http.get("src/public/add/:id").then(function(response) {
       $scope.abc = response.data;
   });
});

我想将src/public/add/:id替换为src/public/add/8 我怎么能动态地做到这一点?

我的路由配置是

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/abc', {
            templateUrl: "tpl/welcome.html"
        })
        .when('/abc/:wineId', {
            templateUrl: 'tpl/abc-details.html', 
            controller: 'AbcDetailCtrl'
        })
        .otherwise({ redirectTo: '/abc' });
}]);

1 个答案:

答案 0 :(得分:3)

您可以使用$routeParams

访问代码中的网址参数

根据您的评论,您的路线是:

$routeProvider.when('/abc/:wineId', {
    templateUrl: 'tpl/abc-details.html',
    controller: 'AbcDetailCtrl'
});

因此,在您的控制器中,您可以获得wineId值:

app.controller('AbcCtrl', function($scope, $http, $routeParams) {
   $http.get("src/public/add/" + $routeParams.wineId).then(function (response) {
       $scope.abc = response.data;
   });
});