Axios -如何不将[]添加到多参数中?

qybjjes1  于 2022-12-12  发布在  iOS
关注(0)|答案(2)|浏览(152)

如果有多个同名的参数,Axios会在参数后面加上方括号。问题是我不需要加上这些方括号,因为我使用的是Django Rest FrameworkDjango Filters
如果我使用这个符号,我怎么做呢?

axios.get(list_url, {params: {somelist:[1,2,3]}})

我不想要url/?somelist[]=1&somelist[]=2&somelist[]=3,我想要url/?somelist=1&somelist=2&somelist=3

flvtvl50

flvtvl501#

尝试使用axios配置中的paramsSerializer的indexes:null来执行此操作

axios.get(someurl, {
  params: {
    foo: [1, 2, 3]
  }, 
  paramsSerializer: { 
    indexes: null
  }
 });

我从这里得到这个https://www.npmjs.com/package/axios#axios-api
screenshot with attributes of paramsSerializer

fv2wmkja

fv2wmkja2#

您可以像这样使用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);

相关问题