AngularJS在Querystring中访问值

时间:2014-07-14 11:22:27

标签: angularjs angularjs-directive angularjs-scope

我试图访问查询字符串中的值。

这是我在浏览器中看到的内容:

http://localhost:1010/products/chairs.html?searchMe=testing123

在我的控制器中,我有:

var mySearchMeQuery = $location.search().searchMe;

console.log("searchMe = " + mySearchMeQuery );

在我的console.log中,我看到:searchMe = undefined

我已经检查过我的控制器中注入了$ location。

**解决方案必须适用于IE8 + **

3 个答案:

答案 0 :(得分:1)

仅当您使用带有哈希(#)的路径时,

$ location才有效。请参阅this

答案 1 :(得分:1)

使用$location.search()

返回对象键值对;关键是您的查询字符串,值是查询字符串值。

示例:

function MainCtrl($scope, $location) {
    $scope.queryString = $location.search();
    // returns {searchMe: "testing123"}
}

如果您想打印与问题中相同的消息

 console.log("searchMe = " + $location.search().searchMe);

答案 2 :(得分:0)

您可以使用以下内容注入dependecy $ routeParams并获取参数值:

$routeParams.searchMe

Docs on routeParams

更新答案:

我更新了以$ routeParams为例的现有小提琴。如果单击Moby链接并检查那里的控制台,您可以看到SearchMe作为查询字符串可用。

Fiddle