【发布时间】:2013-11-13 15:32:57
【问题描述】:
我需要使用$http 服务发送一个GET 请求。其中一个参数将是一个 id 数组。网址看起来像这样 mysite.com/items?id[]=1&id[]=2&id[]=3&id[]=4
我试过这种方法
$http(
method: 'GET',
url: '/items',
params: {
id: ids // ids is [1, 2, 3, 4]
}
)
但我获得的网址是 mysite.com/items?id=%5B%221%22%2C%222%22%2C%223%22%2C%224%22%5D
那是因为 Angular 将我的值转换为 JSON 字符串。有没有办法获得我想要的行为?
[更新]
感谢 Jonathan 的建议,我使用 jQuery 的 $.param() 解决了这个问题。
$http(
method: 'GET'
url: '/items?' + $.param({id: ids})
)
【问题讨论】:
-
如果您面临 AngularJS 特定的序列化问题,那么 httpParamSerializerJQLike 就是您所需要的。看看stackoverflow.com/questions/33852190/…
标签: javascript http angularjs angular-http