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

185
Views
jQuery unblockUI () se activa mediante una redirección ajax

Tengo un ícono con un atributo de proceso, por lo que cuando hago clic en el ícono, se activa un envío ajax.

Ahora, mientras la acción del ícono se esté ejecutando, quiero bloquear la página con la función blockUI() de jQuery. Funciona perfectamente bien con los envíos regulares (sin ajax), pero en los envíos ajax, la página solo se bloquea durante un breve período de tiempo, por lo que es falsamente posible realizar un segundo envío antes de que finalice el primero.

Analicé el tráfico de red en Firefox y noté lo siguiente:

En un envío regular (sin ajax), la respuesta del método POST es " 302 Found ", mientras que en un envío ajax se realiza una redirección, por lo que la respuesta aquí es " 200 OK " con el mensaje de respuesta <partial-response><redirect url="myURL"></redirect></partial-response> .

Depuré y me di cuenta de que en algún momento termino en el archivo core.js de PrimeFaces con la función PrimeFaces.ajax.ResponseProcessor.doRedirect(a); que nuevamente llama a window.location.assign(b.getAttribute('url')) .

Con esta asignación, el blockUI se pierde.

Mi pregunta: ¿Qué puedo hacer para que blockUI no se pierda en una redirección ajax?

Estoy usando el siguiente código en mi archivo xhtml:

<p:ajaxStatus onstart="onGlobalAjaxStart()" oncomplete="onGlobalAjaxComplete()" />

La función onGlobalAjaxStart() hace lo siguiente:

 $.blockUI.defaults.overlayCSS = {}; let message = $('#blockUI').attr('pt:message'); // gets the text for the blockUI message $.blockUI({ message: message});

La función onGlobalAjaxStart() llama a $.unblockUI() (entre otras).

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