Oi,
Eu estou procurando, mas não consigo encontrar a maneira de fazer isso. Basicamente, eu quero enviar uma solicitação GET com um parâmetro de matriz como este
GET /comments?filter[post]=3&filter[author]=12
Eu tentei isso
params: {
filter: {post: 3, author: 12}
}
Mas ainda sem sorte :(
Alguma dica?
Obrigado
Olá @ghprod , antes de mais quero deixar claro que não sou colaborador desta biblioteca nem a utilizo, mas estava de passagem e vi este problema e resolvi investigar um pouco o código.
O Axios não oferece suporte a esse tipo de codificação por padrão, mas permite que você forneça um serializador personalizado. Você pode fazer isso facilmente com o seguinte código:
// Axios include here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: customSerializerFunc
});
Para simplificar, pesquisei no Google por bibliotecas serializador de querystring e encontrei qs que tem suporte para navegadores e nodejs. Você pode usá-lo como um serializador desta maneira:
// 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.
});
Talvez você veja isto: filter%5Bpost%5D=3
vez de filter[post]=3
, isso porque a codificação de URL está habilitada. Você pode desativá-lo desta forma:
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: function(params) {
return qs.stringify(params, { encode: false });
}
});
Deixe-me saber se funcionou.
Cumprimentos.
Funciona ..: +1:
Muito obrigado @ngonzalvez
Tenha um ótimo dia :)
oi, preciso de ajuda sobre axios - como faço para obter um valor de entrada e colocá-lo como um valor em um parâmetro para axios.get; digamos, para uma função de pesquisa que estou criando - parte do url é um parâmetro de consulta.
aqui está o código
axios
.get ('http: // localhost: 8080 / customer / search? hint = da')
onde hint = "searchText"
por favor ajude.
obrigado!
Comentários muito úteis
Olá @ghprod , antes de mais quero deixar claro que não sou colaborador desta biblioteca nem a utilizo, mas estava de passagem e vi este problema e resolvi investigar um pouco o código.
O Axios não oferece suporte a esse tipo de codificação por padrão, mas permite que você forneça um serializador personalizado. Você pode fazer isso facilmente com o seguinte código:
Para simplificar, pesquisei no Google por bibliotecas serializador de querystring e encontrei qs que tem suporte para navegadores e nodejs. Você pode usá-lo como um serializador desta maneira:
Talvez você veja isto:
filter%5Bpost%5D=3
vez defilter[post]=3
, isso porque a codificação de URL está habilitada. Você pode desativá-lo desta forma:Deixe-me saber se funcionou.
Cumprimentos.