Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!