【问题标题】:Pass array as query string将数组作为查询字符串传递
【发布时间】:2012-10-10 22:20:34
【问题描述】:

我正在尝试通过 jsonp 将数组传递给我的服务器 - 这是我尝试传递的 JSON 示例:

["something","another_thing",4,{"iam" : "anobject"}]

但是,我不确定如何(如果可能的话)传递一个数组。

我以为会是这样的:

something&another_thing&4&[iam]=anobject

但是当我将它传递给节点中的querystring.parse() 时,它给了我这个:

{ '4': '',
  something: '',
  another_thing: '',
  '[iam]': 'anobject' }

这绝对不是我想要的。我可以只使用 JSON,但现在我想知道这是否可行。

【问题讨论】:

  • 你尝试过使用 JSON.stringify 吗?
  • 我已经在我的代码中使用 JSON 实现了这一点——这只是对通过 GET 查询可以传递什么感到好奇。

标签: javascript json query-string


【解决方案1】:

如果您想使用 PHP 的 URI 格式(这就是您的尝试的样子)传递该数据结构,它看起来像:

data[0]=something&data[1]=another_thing&data[2]=4&data[3][iam]=anobject

不过,您最好只传递 JSON 本身。获取 JavaScript 对象并通过JSON.stringify()encodeURIComponent() 运行它以获得:

data=something%2Canother_thing%2C4%2C%5Bobject%20Object%5D

然后您将使用querystring.parse(),从中提取data 参数,然后对该值运行JSON.parse()

【讨论】:

  • 正如我在帖子中所说 - 我可以只使用 JSON(事实上我是),但我主要只是好奇是否有办法将数组作为根对象传递给查询。
猜你喜欢
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多