从URL获取动态查询字符串参数 - AngularJS

时间:2015-02-04 08:42:14

标签: javascript angularjs query-string

我是一个查询字符串参数是动态的URL。我需要在JavaScript中阅读它们。我所做的是

我已使用以下代码读取所有查询字符串参数。

例如:

// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var searchObject = $location.search();
// searchObject  => {foo: 'bar', baz: 'xoxo'}

我也有一个带键的数组。在这里,我的数组将包含 foo baz

例如: var list = ["foo", "baz"];

那么如何使用我列表数组中的键获取URL中的值?

我试过这种方式

for(var i=0; i<list.length; i++)
                {
                    alert(searchObject.list[i]);
                }

但这导致我在控制台中出现错误 searchObject.list 未定义。

我在这里做错了什么?有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

尝试

for(var i=0; i<list.length; i++)
{
    alert(searchObject[list[i]]);
}

我不确定你为什么要包含list属性,searchObject只是和(顾名思义)一个普通的旧javascript对象。

答案 1 :(得分:1)

这应该是你想要的:

for(var i=0; i<list.length; i++) {
    alert(searchObject[list[i]]);
}

循环遍历列表项,使用每个项作为搜索对象对象的键。

http://jsfiddle.net/8vekqezj/

答案 2 :(得分:1)

可能正在使用AngularJS实用程序:

angular.forEach(list, function(key){
  alert(searchObject[key]);
});