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

186
Views
Cómo enviar múltiples datos al servidor usando for loop
const submit = e => { e.preventDefault(); fetch('', { method: 'POST', body: JSON.stringify({ product_option_id: 1, quantity: 2, }), }) .then(response => response.json()) .then(result => { if (result.success) { goToCart(); } else { alert('error'); } }); };

Tengo una pregunta sobre el envío de datos al backend usando fetch. Tengo product_option_id en formato de matriz como resultado = [4, 3], por ejemplo. Y tengo cantidad en formato de matriz como recuento = [1, 2], por ejemplo, en consecuencia. Así que aquí tengo product_option_id: 4 y su cantidad es 1 y también tengo product_option_id: 3 y su cantidad es 2. Si tengo que enviar estos datos por separado uno tras otro como se indicó anteriormente en lugar de enviar una matriz, ¿puedo escribir una declaración if? así en el cuerpo?

 fetch('', { method: 'POST', body: JSON.stringify({ for (let i =0; i < result.length; i++) { product_option_id: result[i], quantity: count[i], } }), })

Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En primer lugar, una descripción general de su objetivo. Tiene las siguientes estructuras de datos:

 const result = [6, 7, 8]; const count = [1, 2, 3];

... y desea enviarlos al servidor como una matriz de objetos como:

 [ { "product_option_id": 6, "quantity": 1 }, { "product_option_id": 7, "quantity": 2 }, { "product_option_id": 8, "quantity": 3 } ]

Para hacer esto, estás en las líneas correctas, pero no puedes usar un bucle for dentro de otra línea. Intente reemplazar su 'for' con una llamada a Array.map() de la siguiente manera:

 function transform(result, count) { return result.map((r, index) => ({ product_option_id: r, quantity: count[index] || 0 }); } const submit = e => { e.preventDefault(); fetch('', { method: 'POST', body: JSON.stringify(transform(result, count)), }) .then(response => response.json()) .then(result => { if (result.success) { goToCart(); } else { alert('error'); } }); };

Refactoricé su código en funciones más pequeñas para que sea más fácil de leer en beneficio de cualquiera que lea esto, pero podría llamar a result.map en línea dentro de su función original.

about 4 years ago · Juan Pablo Isaza 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!