Primefaces p:ajaxStatus用于非ajax请求

时间:2011-03-31 07:21:32

标签: jsf-2 primefaces

我有一些请求不能是ajax请求,有没有办法仍然使用p:ajaxStatus组件与非ajax请求。

2 个答案:

答案 0 :(得分:2)

这有点晚了,但我基本上就是你所说的。目标是在非ajax请求上显示动画gif,我使用此函数打开ajaxStatus显示。我的p:ajaxStatus的id为“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()" ...

答案 1 :(得分:1)

非ajax请求完全重新加载整个页面。因此,您无法逐字地使用p:ajaxStatus来指示正在进行的非Ajax请求。

如果您的请求导致页面导航,则不会使用p:ajaxStatus。否则,您可以将ajax请求与p:ajaxStatus结合起来。

很快p:ajaxStatus不能用于显示非ajax请求的状态。

相关问题