如何为角度js设置动态URL

时间:2016-03-21 13:00:58

标签: javascript php angularjs codeigniter

我的地址栏网址是

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) {}

我怎么能?

希望你理解

1 个答案:

答案 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}}传递给服务。