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

82
Vistas
htmx.ajax solo llamó dos veces al realizar múltiples consultas

Estoy usando $watch() de Alpinejs en una propiedad determinada dentro de varios bloques de datos x para llamar a htmx.ajax con un controlador personalizado cada vez que cambia esa propiedad. Aquí hay un fragmento:

HTML:

 <div x-data="{profiles:[]}"> <div x-data="..." x-init="$watch('profiles', val=>onProfilesChanged())">...</div> <div x-data="..." x-init="$watch('profiles', val=>onProfilesChanged())">...</div> <div x-data="..." x-init="$watch('profiles', val=>onProfilesChanged())">...</div> <div> <!-- profiles modified here in response to user input --> ... </div> </div>

JavaScript:

 function onProfilesChanged() { htmx.ajax('GET', ..., {'handler': (evt,response)=>{...}}); }

Al depurar en el navegador, puedo ver que onProfilesChanged se llama como se esperaba (3 veces), pero solo se envían 2 solicitudes de red y el controlador de devolución de llamada solo se ejecuta dos veces. Las solicitudes parecen corresponder a la primera y la última llamada, y todo lo que hay en el medio se pierde de alguna manera (se intentó con más devoluciones de llamada de $watch() ). El comportamiento es el mismo tanto en Firefox como en Chromium, por lo que dudo que sea una limitación del navegador, pero no pude encontrar nada en la documentación de htmx sobre la cantidad máxima de solicitudes de Ajax que se pueden poner en cola.

Estoy totalmente perdido aquí, cualquier idea de lo que podría estar pasando sería muy apreciada. ¡Gracias!

Editar: el problema también ocurre cuando se usa htmx.ajax() dentro de un bucle for, por lo que realmente parece estar del lado de htmx. Hay una etiqueta hx-sync para establecer el comportamiento de la cola para las etiquetas hx-get/post..., pero no parece funcionar con la API de JS.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Finalmente logré encontrar una solución alternativa: agregar un elemento de source dinámico a los atributos de opciones de la solicitud de Ajax soluciona el problema. Todavía tengo un límite de 2 solicitudes por elemento en el caso de bucles for, pero las solicitudes de diferentes fuentes ahora tienen diferentes colas.

Guardo esto para referencia futura en caso de que ayude a alguien más.

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