web-dev-qa-db-fra.com

Comment utiliser correctement axios params avec les tableaux

Comment ajouter des index à un tableau dans une chaîne de requête?

J'ai essayé d'envoyer des données comme ceci:

axios.get('/myController/myAction', { params: { storeIds: [1,2,3] })

Et j'ai eu cette URL:

http://localhost/api/myController/myAction?storeIds[]=1&storeIds[]=2&storeIds[]=3

Donc, je devrais obtenir cette URL:

http://localhost/api/myController/myAction?storeIds[0]=1&storeIds[1]=2&storeIds[2]=3

Qu'est-ce que je devrais ajouter dans mes options params pour obtenir cette URL?

5
Zin Kun

Vous pouvez utiliser paramsSerializer et sérialiser des paramètres avec https://www.npmjs.com/package/qs

axios.get('/myController/myAction', {
  params: {
    storeIds: [1,2,3]
  },
  paramsSerializer: params => {
    return qs.stringify(params)
  }
})
1
Nicu Criste

Utilisez JSON.stringify pour lier un tableau dans une chaîne, puis envoyez un tableau dans les paramètres.

let storeIds: [1,2,3];
axios.get('/myController/myAction', { params: { storeIds: JSON.stringify(storeIds) })
0
Pardeep Sharma