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?
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)
}
})
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) })