是否有通过查询字符串传递数组的标准方法?
为了清楚起见,我有一个包含多个值的查询字符串,其中一个值是数组值.我希望将查询字符串值视为数组 - 我不希望数组被展开,以便它与其他查询字符串变量无法区分.
此外,根据这篇帖子的答案,作者建议不定义对数组的查询字符串支持.这准确吗?
编辑:
基于@Alex的回答,没有标准的方法可以做到这一点,所以我的后续工作是什么是一种简单的方法来识别我正在阅读的参数是PHP和Javascript中的数组?
将多个参数命名为同名是否可以接受,这样我知道它们属于一个数组?例:
?myarray=value1&myarray=value2&myarray=value3...
Run Code Online (Sandbox Code Playgroud)
或者这是不好的做法?
我正在尝试通过我的GET请求中的URL参数传入API密钥.
但是,我注意到Axios在发送请求时会对我的API密钥中的字符进行编码.这导致API拒绝我的请求,因为它无法识别我的密钥.
如何防止Axios编码我的GET参数?
如果有多个同名的参数,axios 会在参数中添加方括号。问题是我不需要包含这些括号,因为我使用了Django Rest Frameworkand Django Filters。
如果我使用这个符号,我该如何做到这一点?
axios.get(list_url, {params: {somelist:[1,2,3]}})
Run Code Online (Sandbox Code Playgroud)
我不想要url/?somelist[]=1&somelist[]=2&somelist[]=3
相反我想要 url/?somelist=1&somelist=2&somelist=3
在 GET 上将具有多个值的参数作为查询字符串传递是很常见的:
http://server/status?stat=a&stat=b
Run Code Online (Sandbox Code Playgroud)
如何使用 JS 中的 axios 库创建这种类型的查询字符串?创建一个对象,其中参数名称是键,值是多个值的数组,从而创建一个查询字符串:
http://server/status?stat[]=a&stat[]=b
Run Code Online (Sandbox Code Playgroud)
这与服务器期望的格式不正确。这可以在 axios 中完成吗?