get请求中的角度传递数组

时间:2015-04-18 16:36:32

标签: angularjs

我想将这样的查询传递给服务器:

/rest/articles/getTexts?tagIds[]=1&tagIds[]=88

我可以使用$.param这样做:

var tagIds = [1, 88]
var param = $.param({tagIds: tagIds});

我用角度试过了同样的事情:

var tagIds = [1, 88]
$http.get(serverUrl + "articles/getTexts" + {params:{tagIds: tagIds }})

但它产生了这样的字符串:

/rest/articles/getTexts?tagIds=1&tagIds=88

注意缺少方括号导致服务器端的tagIds参数的overive,而不是像jquery的param那样创建它的数组。我是以错误的方式使用棱角分明的参数,还是不可能实现我的目标?

1 个答案:

答案 0 :(得分:2)

未经过测试,但如果您希望参数名称为tagIds[],那么这也是params对象的键应该是:

params:{'tagIds[]': tagIds }