在使用爱可信一个GET与具有多个值的参数传递对象作为查询字符串(Passing an object

2019-09-28 15:27发布

这是常见的通过与多个值作为一个GET查询字符串参数:

http://server/status?stat=a&stat=b

如何创建一个使用JS的爱可信库这种类型的查询字符串? 创建对象,其中参数名是键和值的多个值的阵列创建查询字符串:

http://server/status?stat[]=a&stat[]=b

这是从什么服务器期望的格式不正确。 可这在爱可信办呢?

Answer 1:

这是常见的通过具有多个值的参数作为在GET查询字符串

这绝不是一个标准。 不同的语言,框架实施不同的解决方案。 看到在这个问题重复HTTP GET查询键的权威地位 。

可这在爱可信办呢?

从爱可信文件 :

在Node.js的,你可以使用查询字符串模块如下:

 var querystring = require('querystring'); axios.post('http://something.com/', querystring.stringify({ foo: 'bar'}); 

您也可以使用了QS库。

该QS库对阵列的支持。

另一种方法是使用连接 。

更新

的QS库支持阵列,但仅当该参数被后缀[]

var paramsString = "q=URLUtils.searchParams&topic[]=api&topic[]=bar"

可替代地, URLSearchParams API提供getAll()方法:

 var paramsString = "q=URLUtils.searchParams&topic=api" var searchParams = new URLSearchParams(paramsString); searchParams.getAll("topic"); // ["api"] 

这并不在IE工作,但填充工具网址,搜索PARAMS可用。



文章来源: Passing an object with a parameter with multiple values as a query string in a GET using axios