Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
¿Múltiples campos con la misma clave en los parámetros de consulta (solicitud de axios)?

Entonces, el backend (que no está bajo mi control) requiere una cadena de consulta como esta:

 http://example.com/?foo=5&foo=2&foo=11

Pero axios usa el objeto JS para enviar los parámetros de solicitud:

 axios.get('http://example.com/', { foo: 5 });

Y obviamente dicho objeto no puede tener múltiples campos con la misma clave.

¿Cómo puedo enviar una solicitud con varios campos con la misma clave?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

De la documentación de axios en la configuración de solicitud

 // `params` are the URL parameters to be sent with the request // Must be a plain object or a URLSearchParams object params: { ID: 12345 },

Para usar esto en una solicitud, harías

 var request = { params: { foo: [5, 2, 11] } } axios.get('http://example.com/', request);

El único problema con el uso de un enfoque de objeto simple es que los parámetros de matriz se agregan como

 http://example.com/?foo[]=5&foo[]=2&foo[]=11

Para obtener una solicitud sin [] como desee, puede usar URLSearchParams

 var params = new URLSearchParams(); params.append("foo", 5); params.append("foo", 2); params.append("foo", 11); var request = { params: params }; axios.get('http://example.com/', request);

Esto resultará en una solicitud como

 http://example.com/?foo=5&foo=2&foo=11
over 4 years ago · Santiago Trujillo Relatório

0

En la configuración de solicitud de Axios, puede anular la serialización de parámetros y luego usar el módulo QS NPM para serializar la matriz con el modo de repetición

 let params = { foo: [5, 2] } axios.get('path/to/api/',{params}) // URL : https://path/to/api?foo[]=5&foo[]=2 let myAxios = axios.create({ paramsSerializer: params => Qs.stringify(params, {arrayFormat: 'repeat'}) }) myAxios.get('path/to/api/',{params}) // URL : https://path/to/api?foo=5&foo=2
over 4 years ago · Santiago Trujillo Relatório

0

Agregar más detalles a la respuesta aceptada de @nhydock. Cuando tu lo hagas

 var request = {foo: [5, 2, 11] }

axios.get(' http://ejemplo.com/ ', solicitud);

Para la aplicación django, puede recibirlos como

 self.request.query_params.getlist('foo')

además.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda