我的地址栏网址是
hostname/admin/Usergroup_controller/view_members/1
我在内部使用角度js
进行调用hostname/admin/Usergroup_controller/get_view_members/1
这里最后是id,现在是1,但可以更改。
我想在以下代码中传递该网址
$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1').success(function (data) {}
我怎么能?
希望你理解
答案 0 :(得分:1)
根据您的问题,我们了解您希望包含' id'在浏览器网址中,例如hostname/admin/Usergroup_controller/view_members/1
,因此希望使用该ID' id'来执行GET请求。如$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1')
我假设您正在使用$routeProvider
(角度路由)。现在,这意味着您需要调整.when(path, route)
方法来传递动态的ID'在浏览器的网址中。因此,.when(path, route)
将像.when('/Usergroup_controller/view_members/:id', templateUrl: 'viewMembers.html')
;假设viewMembers.html
是您要路由到的页面。
之后,更改.when(path, route)
后,您需要从浏览器的网址中提取:id
的值。这将通过在路由页面的控制器中使用$routeParams
来完成,在这种情况下,viewMembers.html
将是viewMembers.html
。在:id
的控制器中,您需要通过写入来提取$scope.idEnteredInBrowserUrl=$routeParams.id;
的值:
$scope.idEnteredInBrowserUrl
现在,您需要在将要执行$http.get()
请求的服务中传递值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
,并且必须viewMembers.html
值才能追加它到GET请求URL。
从:id
的控制器调用此方法,并将解压缩的$scope.idEnteredInBrowserUrl
值{{1}}传递给服务。