如何为 angular js 设置动态网址

How to set dynamic url for angular js

本文关键字:动态 设置 js angular      更新时间:2023-09-26

我的地址栏网址是

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

我该如何???

希望你明白

从您的问题中,我知道您希望在浏览器 url 中包含"id",例如hostname/admin/Usergroup_controller/view_members/1,从而希望使用该"id"执行 GET 请求,如$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1')

我假设您正在使用$routeProvider(角度路由)。现在这意味着您需要调整 .when(path, route) 方法以在浏览器的 url 中传递动态"id"。所以,.when(path, route)会像.when('/Usergroup_controller/view_members/:id', templateUrl: 'viewMembers.html')一样;假设viewMembers.html是您要路由到的页面。

之后,更改.when(path, route)您需要从浏览器的 url 中提取:id的值。这将通过在路由页面的控制器中使用$routeParams来完成,在这种情况下,该控制器将viewMembers.html。在 viewMembers.html 的控制器中,您需要通过编写以下内容来提取: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的控制器调用此方法,并将提取的:id$scope.idEnteredInBrowserUrl传递给服务。