У меня есть некоторые запросы, которые не могут быть запросами ajax, есть ли способ по-прежнему использовать компонент p: ajaxStatus с запросами, отличными от ajax.
Primefaces p:ajaxStatus для запросов без ajax
Ответы (2)
Запросы без ajax полностью перезагружают всю страницу. Таким образом, вы не можете буквально использовать p:ajaxStatus, чтобы указать, что выполняется запрос без ajax.
Если ваш запрос приводит к навигации по страницам, то использование p:ajaxStatus нецелесообразно. В противном случае вы можете соединить запрос ajax с p:ajaxStatus.
Вскоре p:ajaxStatus нельзя использовать для отображения статуса запроса, отличного от ajax.
Это немного поздно, но я сделал в основном то, о чем вы говорите. Цель состояла в том, чтобы отображать анимированный gif для запросов, отличных от ajax. Я использовал эту функцию, чтобы включить отображение ajaxStatus. Мой p: ajaxStatus имеет идентификатор «ajaxStatus»:
function startAjaxStatus() {
document.getElementById("ajaxStatus_start").style.display='block';
document.getElementById("ajaxStatus_complete").style.display='none';
document.getElementById("ajaxStatus_error").style.display='none';
document.getElementById("ajaxStatus_default").style.display='none';
}
Теперь вам просто нужно убедиться, что вы вызываете эту функцию перед запросом без ajax:
<p:commandButton ajax="false" onclick="startAjaxStatus()" ...