Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

84
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda