2016-03-21 112 views
1

我的地址欄輸入的網址如何設置動態URL的角度JS

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

我如何???

希望你能理解

+2

'var id = 1; $ http.get(site_url +'hostname/admin/Usergroup_controller/get_view_members /'+ id).....' – Matthijs

+0

有人可以使用Angular並被類似的問題阻止嗎? –

+0

@VincentDecaux出現類似的問題? – Matthijs

回答

1

從你的問題,我知道你想在瀏覽器URL中的「身份證」,像hostname/admin/Usergroup_controller/view_members/1從而要執行使用「身份證」 GET請求在$http.get(site_url + 'hostname/admin/Usergroup_controller/get_view_members/1')

我假設你正在使用$routeProvider(Angular Routing)。這意味着您需要調整.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; 

,你將需要傳遞價值,$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將其附加到GET請求URL的值。

viewMembers.html的控制器調用此方法,並將提取的:id$scope.idEnteredInBrowserUrl傳遞給該服務。