我的地址栏网址是
hostname/admin/Usergroup_controller/view_members/1
我在内部使用angular js调用
hostname/admin/Usergroup_controller/get_view_members/1
最后是 id,现在是 1 但可以更改。
我想在下面的代码中传递那个 url
$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1').success(function (data) {}
我怎么能???
希望你明白
最佳答案
根据你的问题,我了解到你想在浏览器 url 中包含“id”,例如 hostname/admin/Usergroup_controller/view_members/1
从而想使用它执行 GET 请求'id' 如 $http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1')
我假设您正在使用 $routeProvider
( Angular 路由)。现在这意味着您需要调整 .when(path, route)
方法以在浏览器的 url 中传递动态“id”。所以,.when(path, route)
会像 .when('/Usergroup_controller/view_members/:id', templateUrl: 'viewMembers.html')
;假设 viewMembers.html
是您要路由到的页面。
之后,更改 .when(path, route)
您需要从浏览器的 url 中提取 :id
的值。这将通过在路由页面的 Controller 中使用 $routeParams
来完成,在本例中将是 viewMembers.html
。在 viewMembers.html
的 Controller 中,您需要通过编写以下内容来提取 :id
的值:
$scope.idEnteredInBrowserUrl=$routeParams.id;
现在,您需要在您将执行 $http.get()
请求的服务中传递值 $scope.idEnteredInBrowserUrl
。这可以通过在服务中创建一个函数来完成,比如
var setIdEnteredInBrowserUrl = function (id) {
$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/'+id).success(function (data) {}}
请注意 $http.get()
在 setter 函数中被提及,因为您希望 $http.get()
仅在此方法之后被调用已被调用,您必须将 :id
值附加到 GET 请求 URL。
从 viewMembers.html
的 Controller 调用此方法并将提取的 :id
值 $scope.idEnteredInBrowserUrl
传递给服务.
关于javascript - 如何为angular js设置动态url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131745/