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

127
Views
El progreso de carga de Ajax se activa de manera diferente al complemento AjaxForm

Con este código:

 $("#myform").ajaxForm({ beforeSubmit: function() { let percentVal = '0%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, uploadProgress: function(event, position, total, percentComplete) { let percentVal = percentComplete + '%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, success: function(response) { let percentVal = '100%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, complete: function(xhr) { } });

Obtengo un progreso agradable y fluido de la carga incluso con archivos bastante pequeños (es decir, 1-2 MB). En cambio con este otro código:

 const formData = new FormData($("#myform")[0]); $.ajax({ xhr: function() { xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener('progress', function(e) { if (e.lengthComputable) { const percentComplete = Math.floor(e.loaded / e.total) * 100; const percentVal = percentComplete + '%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); } }, false); return xhr; }, type: 'POST', url: action, data: formData, contentType: false, processData: false, cache: false, beforeSend: function() { let percentVal = '0%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); }, success: function(data, status, xhr) { let percentVal = '100%'; bar.width(percentVal) bar.html(percentVal).attr('aria-valuenow', percentVal); alertOk.show(); }, complete: function(xhr) { } });

El evento de progreso se activa solo al final de la carga, incluso con archivos bastante grandes (> 10 MB) que tardan varios segundos en completarse.

¿Qué me estoy perdiendo en la implementación pura de JQuery para obtener actualizaciones de progreso en pequeños fragmentos como lo hace el complemento AjaxForm?

over 4 years ago · Santiago Trujillo
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!