javascript - 使用 axios 将带有多个值的参数的对象作为 GET 中的查询字符串传递

标签 javascript query-string axios

在 GET 上将具有多个值的参数作为查询字符串传递是很常见的:

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

如何使用 JS 中的 axios 库创建这种类型的查询字符串?创建一个对象,其中参数名称是键,值是多个值的数组,从而创建一个查询字符串:

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

这与服务器期望的格式不正确。这可以在 axios 中完成吗?

最佳答案

如果服务器期望获取具有给定名称的多个实例(不附加 [] 数组标记),则可以使用 URLSearchParams API 获取该名称。 .:

var searchParams = new URLSearchParams();
searchParams.append('stat', 'a')
searchParams.append('stat', 'b')
axios.get('http://server/status', {params: searchParams});

会产生一个请求:

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

正如另一个答案中所指出的,它在 IE 中不起作用,但在 polyfill url-search-params 中不起作用。可用。

关于javascript - 使用 axios 将带有多个值的参数的对象作为 GET 中的查询字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102575/

相关文章:

Javascript:这个变量放置在哪个范围内?

javascript - 是否可以发布 responseType : 'stream' in Axios?

javascript - 如何用jquery制作文本向右滑动的动画

javascript - 如何在fabric js中保留图像的位置

javascript - Handlebars 将字符串或 Handlebars AST 传递给 Handlebars 编译

php - Google+ 分享链接不显示说明?

javascript - 如何使用查询字符串将数据填充到 extjs 组件?

c# - Umbraco Request.QueryString 如果是第一次加载页面则为 null

javascript - 为什么 Axios(带有 async/await)返回一个完整的 promise?

vue.js - TypeError : Cannot read property 'post' of undefined using vue. js 和 axios