Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda