javascript - 使用 AngularJS 的 $http 服务通过 GET 请求发送数组

标签 javascript http angularjs angular-http

我需要使用 $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 字符串。有没有办法获得我想要的行为?

[更新]

由于乔纳森的建议,我使用 jQuery 的 $.param() 解决了这个问题。

$http(
  method: 'GET'
  url: '/items?' + $.param({id: ids})
)

最佳答案

你也可以这样做

$http(
  method: 'GET',
  url: '/items',
  params: {
    "id[]": ids // ids is [1, 2, 3, 4]
  }
)

如前所述here .看起来更简单。

关于javascript - 使用 AngularJS 的 $http 服务通过 GET 请求发送数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19957858/

相关文章:

javascript - Ember.js 和 connectOutlet 模板上下文问题

javascript - 无法使用javascript更改href的值

javascript - 使用 HTML 音频标签播放二进制字符串

c# - 提交修改viewstate所需的ajax asp表单

angularjs - 应用架构 : directives vs. Controller

javascript - Angular 2 AOT 与 JIT 负载比较

javascript - 在 AngularJS 表达式中调用全局变量

javascript - 在 kineticjs 中导出阶段的最佳方法

web-services - 将参数传递给 Web 服务器的两种方法之间的区别?

javascript - ng-click 不在指令内工作