У меня возникла проблема с тем, что я использовал проверку ViewState в библиотеке JSF от OmniFaces: fixviewstate.js. Проблема в том, что мы столкнулись с странным поведением IE в нашем приложении, где после второго запроса AJAX на той же странице data.responseXML = {}. Странно, что responseText правильно установлен. И в этом случае viewState value = '-'. Такое значение затем отправляется на сервер, а JSF генерирует исключение IndexOutOfBoundsException.JSF ViewState fix IE responseXML
Это происходит только в IE, но не тогда, когда инструменты разработчика включены. Я думал, что это может быть связано с проблемой кэширования IE AJAX, но:
- те сообщения просит
- тип содержимого правильно установлен в текст/XML
- Cache-Control: заголовок-кэша не является set
Не могли бы вы помочь?
Nice find! Я буду исследовать совместимость браузера, а затем применить исправление в OmniFaces. Изменить: появляется [IE6-8] (https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) не нравится, и вместо этого следует использовать 'innerText'. Можете ли вы подтвердить, что 'return updates [i] .textContent || updates [i] .innerText; 'отлично работает для вас через IE (эмулированные) версии? – BalusC
Ну, обновления [i] .textContent || обновления [i] .text, похоже, работают. Но я просто пошел с версией jQuery $ (обновления [i]). Text(). – pshemu