首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确解码Angular 1.4 $httpParamSerializer查询字符串?

正确解码Angular 1.4 $httpParamSerializer查询字符串?
EN

Stack Overflow用户
提问于 2015-08-12 19:38:55
回答 1查看 1.4K关注 0票数 2

下面是我想序列化的对象:

代码语言:javascript
复制
{"cars": [
   {"make":"volkswagen","model":"golf"},
   {"make":"volkswagen","model":"polo"},
   {"make":"audi","model":"a3"},
   {"make":"bmw","model":"1-series"},
   {"make":"renault","model":"espace"} 
]}

在此之前,我使用jQuery $.param()函数和qs库在node.js上进行了解码。一切都很好,我不需要自己解析任何东西。

现在,我决定使用新的Angular 1.4服务$httpParamSerializer来摆脱jQuery。在解码之后,我得到的是strings,而不是数组中的objects

代码语言:javascript
复制
 '{"make":"volkswagen","model":"golf"}'

在不对数组中的每个对象调用JSON.parse的情况下,如何正确解码使用$httpParamSerializer服务创建的查询字符串?

下面是$.param查询字符串:

代码语言:javascript
复制
cars%5B0%5D%5Bmake%5D=volkswagen&cars%5B0%5D%5Bmodel%5D=golf&cars%5B1%5D%5Bmake%5D=volkswagen&cars%5B1%5D%5Bmodel%5D=polo&cars%5B2%5D%5Bmake%5D=audi&cars%5B2%5D%5Bmodel%5D=a3&cars%5B3%5D%5Bmake%5D=bmw&cars%5B3%5D%5Bmodel%5D=1-series&cars%5B4%5D%5Bmake%5D=renault&cars%5B4%5D%5Bmodel%5D=espace&demo%5Bsome%5D=bar

下面是$httpParamSerializer查询字符串:

代码语言:javascript
复制
cars=%7B%22make%22:%22volkswagen%22,%22model%22:%22golf%22%7D&cars=%7B%22make%22:%22volkswagen%22,%22model%22:%22polo%22%7D&cars=%7B%22make%22:%22audi%22,%22model%22:%22a3%22%7D&cars=%7B%22make%22:%22bmw%22,%22model%22:%221-series%22%7D&cars=%7B%22make%22:%22renault%22,%22model%22:%22espace%22%7D&demo=%7B%22some%22:%22bar%22%7D`
EN

回答 1

Stack Overflow用户

发布于 2015-08-12 20:18:13

还有$HttpParamSerializerJQLikeProvider,它像jquery param一样进行序列化。从文件上看,

代码语言:javascript
复制
* Alternative {@link $http `$http`} params serializer that follows
* jQuery's [`param()`](http://api.jquery.com/jquery.param/) method logic.
* The serializer will also sort the params alphabetically.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31964143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档