axios - 如何不在多个参数中添加[]?

Mil*_*ano 5 javascript axios

如果有多个同名的参数,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

Twi*_*her 1

您可以使用URLSearchParams(也存在于浏览器和 Node.js 中的本机对象)执行此操作:

const axios = require('axios');
const { URLSearchParams } = require('url');

var params = new URLSearchParams();
params.append("q", 'test');
params.append("foo", 2);
params.append("foo", 11);
var request = {
  params: params
};
axios.get('http://google.com/', request).then(x => x.request).then(console.log);
Run Code Online (Sandbox Code Playgroud)