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

339
Vistas
Envía mensajes de Django a Ajax mientras procesas la solicitud

Estoy haciendo una llamada AJAX a una vista POST de Django . Está leyendo archivos X localmente y luego enviándolos al front-end (gracias a ajax), para que el usuario pueda descargarlos.

Todo funciona bien en esta parte, pero me gustaría tener algún tipo de " respuesta intermedia ", que le diría a Ajax cada vez que el servidor lee un archivo.

De esa manera, podría crear una barra de carga en el front-end mientras el servidor procesa la solicitud.

¿Hay alguna forma de hacerlo, usando ajax, o algo más (cualquier cosa estaría bien, siempre y cuando mantuviera mi solicitud de ajax en algún lugar).

Aquí está mi código, bastante simplificado, para que puedas entender mejor lo que me gustaría que hiciera:

Django :

 def downloadFiles_API(request): if request.is_ajax and request.method == "POST": requested_files = json.loads(request.body)['files'] for file in requested_files: # Handle file reading (this part works) # Here i'd like to tell the front end "File X has been loaded..." (for each file) # Zip-ing all files, and send it as response return FileResponse(myZipFile)

AJAX :

 $.ajax({ url: "/api/downloadFiles/", type: 'POST', contentType: "application/json; charset=utf-8", data: JSON.stringify({ "files" : filesThatTheUserWants, }), xhrFields:{ responseType: 'blob' }, success: function (response){ // Download the file in response (this works) }, // And what i'd like to add (it's NOT in my code): onProgress: function (intermediateResponse){ console.log(intermediateReponse); // Would print "File X has been loaded..." // Each time a file is loaded on server side }

Nota: Encontré algunas preguntas similares, pero son demasiado genéricas o no explican la parte de ajax (como estas: Enviar mensajes intermedios durante una llamada de Ajax o Cómo transmitir una HttpResponse con Django )

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