Salut,
J'ai cherché, mais je ne trouve pas le moyen de le faire. Fondamentalement, je veux envoyer une demande GET avec un paramètre de tableau comme celui-ci
GET /comments?filter[post]=3&filter[author]=12
j'ai essayé ça
params: {
filter: {post: 3, author: 12}
}
Mais toujours pas de chance :(
Un indice ?
Merci
Salut @ghprod , tout d'abord, je tiens à préciser que je ne suis pas un contributeur à cette bibliothèque ni que je l'utilise, mais je passais par là et j'ai vu ce problème et j'ai décidé d'enquêter un peu sur le code.
Axios ne prend pas en charge ce type d'encodage par défaut mais il vous permet de fournir un sérialiseur personnalisé. Vous pouvez accomplir cela très facilement avec le code suivant :
// Axios include here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: customSerializerFunc
});
Pour simplifier les choses, j'ai cherché un peu sur Google les bibliothèques de sérialiseur de chaîne de requête et j'ai trouvé qs qui prend en charge les navigateurs et les nodejs. Vous pouvez l'utiliser comme sérialiseur de cette façon :
// Include axios and qs here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: qs.stringify // If this doesnt work, append .bind(qs) to the end of this line.
});
Vous verrez peut-être ceci : filter%5Bpost%5D=3
au lieu de filter[post]=3
, c'est parce que l'encodage d'URL est activé. Vous pouvez le désactiver de cette façon :
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: function(params) {
return qs.stringify(params, { encode: false });
}
});
Faites-moi savoir si cela a fonctionné.
Salutations.
Ca marche.. :+1:
Merci beaucoup @ngonzalvez
Passe une bonne journée :)
salut, j'ai besoin d'aide concernant axios - comment puis-je obtenir une valeur de l'entrée et la mettre en tant que valeur sur un paramètre pour axios.get ; disons pour une fonction de recherche que je construis - une partie de l'url est un paramètre de requête.
voici le code
axios
.get('http://localhost:8080/customer/search?hint=da')
où indice = "searchText"
s'il vous plaît aider.
Merci!
Commentaire le plus utile
Salut @ghprod , tout d'abord, je tiens à préciser que je ne suis pas un contributeur à cette bibliothèque ni que je l'utilise, mais je passais par là et j'ai vu ce problème et j'ai décidé d'enquêter un peu sur le code.
Axios ne prend pas en charge ce type d'encodage par défaut mais il vous permet de fournir un sérialiseur personnalisé. Vous pouvez accomplir cela très facilement avec le code suivant :
Pour simplifier les choses, j'ai cherché un peu sur Google les bibliothèques de sérialiseur de chaîne de requête et j'ai trouvé qs qui prend en charge les navigateurs et les nodejs. Vous pouvez l'utiliser comme sérialiseur de cette façon :
Vous verrez peut-être ceci :
filter%5Bpost%5D=3
au lieu defilter[post]=3
, c'est parce que l'encodage d'URL est activé. Vous pouvez le désactiver de cette façon :Faites-moi savoir si cela a fonctionné.
Salutations.