我正在尝试通过网址参数将 ID 传递给名为“ more.html ”的网页。所以URL参数将如下所示。
http://example.com/more.html?id=200
我在more.html页面的控制器中使用了 $ location 服务,以从URL获取参数ID。这是我使用的控制器代码。
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($location, $scope, $http) {
var sno = $location.search().id;
alert(sno);
});
我从上面的代码得到的结果是“未定义”。
答案 0 :(得分:1)
就像@ daan.desmedt所说的那样。我将URL结构更改为以下内容并通过它传递ID。
从:
http://example.com/more.html?id=200
为:
http://example.com/more.html#?id=200
我在more.html之后添加了#。它解决了这个问题。
答案 1 :(得分:0)
您没有定义您注入的参数。它应该如下所示:
var app = angular.module('myApp', []);
app.controller('customersCtrl', ['$location' , '$scope' , '$http' , function($location, $scope, $http) {
var sno = $location.search().id;
alert(sno);
}]);
答案 2 :(得分:0)
按以下方式更改url structure
(添加#
)
从:
http://example.com/more.html?id=200
为:
http://example.com/more.html#?id=200
在您的网址参数之前添加#
more.html
将解决问题。
也许对于您的下一个项目,您可以使用ui-router
,这是一种使用parameters
的更有条理的方式。