ajax internet-explorer jsf-2 xmlhttprequest omnifaces

ajax - JSF ViewState soluciona IE responseXML



internet-explorer jsf-2 (1)

Finalmente lo tengo funcionando. Ocurrió que aunque la respuesta es así:

<update id="javax.faces.ViewState"><![CDATA[-1644237968690251221:-7863929220167075939]]>

update.firstChild.nodeValue en IE devuelve solo una parte del texto, algunas veces solo "-", a veces "-1644237968690251221". Todo depende de cómo el navegador dividirá el texto en nodos de texto. Y de acuerdo con la especificación, puede hacerlo de cualquier manera. Entonces solo necesitamos llamar a update.textContent.

Tengo un problema con la corrección de ViewState en la biblioteca JSF de OmniFaces: fixviewstate.js . El problema es que encontramos un comportamiento extraño de IE en nuestra aplicación, donde después de una segunda solicitud de AJAX a la misma página, data.responseXML = {}. Lo extraño es que responseText está configurado correctamente. Y en ese caso viewState value = ''-''. Tal valor luego se envía al servidor y JSF arroja IndexOutOfBoundsException.

Esto solo ocurre en IE, pero no cuando las herramientas de desarrollador están habilitadas. Pensé que esto podría estar relacionado con el problema de caché de IE AJAX, pero:

  • esas son solicitudes de publicaciones
  • content-type está configurado correctamente en text / xml
  • Cache-Control: el encabezado no-cache está establecido

¿Puedes ayudarme?