angularjs $location.search returns 空对象
angularjs $location.search returns empty object
我想像这样 example 使用 $location
提取我的 url 查询字符串。
我的 url - http://someDomain.com/create/index.jsp?queryToken=123abc
在我的指令中:
vm.queryParam = $location.search();
$log.log('vm.queryParam', vm.queryParam); //{}
vm.details.query = vm.queryParam.queryToken;
$log.log('vm.queryToken', vm.details.query); //undefined
我在记录 $location
时可以看到一个或多个参数,但是当 search()
不起作用时提取它们的正确方法是什么?
谢谢。
$location.search() 将仅在 HTML5 模式打开时工作。
在定义路由的位置添加此行:
$locationProvider.html5Mode(true);
这始终有效:
$window.location.search
我用过这个,效果很好,试试这个
var app = angular.module('myApp', []);
app.config(['$locationProvider', function($locationProvider){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
})
}])
app.controller('myCtrl', function($scope, $location) {
$scope.myPeram = "pass some value in url ?myParam=123";
var query = $location.search();
if(query.myParam)
$scope.myPeram = query.myParam;
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.20/angular.min.js"></script>
</script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<span ng-bind="myPeram"></span>
</div>
</body>
</html>
我想像这样 example 使用 $location
提取我的 url 查询字符串。
我的 url - http://someDomain.com/create/index.jsp?queryToken=123abc
在我的指令中:
vm.queryParam = $location.search();
$log.log('vm.queryParam', vm.queryParam); //{}
vm.details.query = vm.queryParam.queryToken;
$log.log('vm.queryToken', vm.details.query); //undefined
我在记录 $location
时可以看到一个或多个参数,但是当 search()
不起作用时提取它们的正确方法是什么?
谢谢。
$location.search() 将仅在 HTML5 模式打开时工作。
在定义路由的位置添加此行:
$locationProvider.html5Mode(true);
这始终有效:
$window.location.search
我用过这个,效果很好,试试这个
var app = angular.module('myApp', []);
app.config(['$locationProvider', function($locationProvider){
$locationProvider.html5Mode({
enabled: true,
requireBase: false
})
}])
app.controller('myCtrl', function($scope, $location) {
$scope.myPeram = "pass some value in url ?myParam=123";
var query = $location.search();
if(query.myParam)
$scope.myPeram = query.myParam;
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.20/angular.min.js"></script>
</script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<span ng-bind="myPeram"></span>
</div>
</body>
</html>