JSF2.0 - Обработка ошибочных вызовов Ajax с Primefaces 3.0 - PullRequest
3 голосов
/ 10 января 2012

У меня есть commandButton на моей странице .xhtml:

<p:commandButton action="#{someone.doSomething()}"
                ajax="true"
                onerror="errorDialog.show();">
</p:commandButton>

Это просто вызов Ajax.Как я могу обнаружить ситуации, такие как проблема с подключением к Интернету (клиента / браузера), время ожидания, время ожидания сеанса, исключения на стороне сервера, сбои и т. Д. В середине вызова Ajax, чтобы показать пользователю информативное сообщение?

Обрабатывает ли атрибут onerror p:ajax все это?Если нет, то что?:) Какое время ожидания по умолчанию между прочим?

Любая помощь приветствуется, спасибо.

1 Ответ

2 голосов
/ 11 января 2012

onerror вызывает эту функцию:
onerror (xhr, состояние, исключение) - обратный вызов Javascript для обработки при сбое ajax-запроса.Принимает три аргумента: xmlhttprequest, строку состояния и генерируемое исключение, если оно есть.
Эта информация взята из документации.xhr - это на самом деле запрос.Таким образом, можно найти статус запроса и много другой информации.

<p:commandButton action="#{someone.doSomething()}"
            ajax="true"
            onerror="console.debug(xhr)">
</p:commandButton>

Попробуйте этот код в Chrome или Firebug.Он покажет объект xhr

Загляните в http://primefaces.googlecode.com/files/primefaces_users_guide_3_0.pdf раздел 7.2 Ajax API

...