首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像https://example.com/?computer[desktop]=Mac一样,QueryString不能正确解析或(或创建)数组

像https://example.com/?computer[desktop]=Mac一样,QueryString不能正确解析或(或创建)数组
EN

Stack Overflow用户
提问于 2017-11-10 02:06:20
回答 1查看 25关注 0票数 0
代码语言:javascript
复制
var u2 = new Url("https://example.com/");
u2.query["computer"] = {};
u2.query["computer"]["desktop"] = "Mac";
alert(u2);

结果应该是:https://example.com/?computer[desktop]=Mac

相反,我得到的是:https://example.com/?computer=%5Bobject%20Object%5D

另外,当我解析一个看起来像:https://example.com/?computer[desktop]=Mac的网址时

在控制台中检查对象应该类似于返回如下内容:

代码语言:javascript
复制
Computer: Object
desktop: "Mac"

相反,我得到了这个:computer[desktop]: "Mac"

“桌面”不被识别为“计算机”中的对象。和其他字符串一样,"computerdesktop“被简单地用作键。

https://github.com/Mikhus/domurl/

EN

回答 1

Stack Overflow用户

发布于 2017-11-10 02:59:55

它没有解析错误。Url()似乎决定将查询字符串解析为数据。其中,=的左侧是字段的名称,右侧是值,其中每一对都用&分隔

查询字符串仅隐含空值或ASCII字符串。关于必须是什么格式,以及如何解析它,没有既定的标准。这取决于所使用的框架。

如果你想要它以一种特殊的格式,或者以一种特殊的方式进行解析,你将不得不自己去做,或者去考虑框架决定如何使用它。

因此,在使用Url的情况下,您必须使用字符串computer[desktop]作为键,才能正确设置查询字符串。

代码语言:javascript
复制
u2.query['computer[desktop]'] = "Mac"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47208753

复制
相关文章

相似问题

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