Primefaces p:ajaxStatus 用于非 ajax 请求

发布于 2024-10-28 13:33:10 字数 63 浏览 0 评论 0原文

我有一些请求不能是 ajax 请求,有什么办法仍然可以将 p:ajaxStatus 组件用于非 ajax 请求。

I have some requests that can't be ajax requests, is there any way to still use the p:ajaxStatus component with non-ajax requests.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浪漫之都 2024-11-04 13:33:10

这有点晚了,但我基本上做了你所说的。目标是在非 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()" ...

This is a bit late, but I did basically what you're talking about. The goal was to display the animated gif on non-ajax requests I used this function to turn on the ajaxStatus display. My p:ajaxStatus has an id of "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'; 
} 

Now you just need to make sure you call that function before the non-ajax request:

<p:commandButton ajax="false" onclick="startAjaxStatus()" ...
数理化全能战士 2024-11-04 13:33:10

非ajax请求完全重新加载整个页面。因此,您不能直接使用 p:ajaxStatus 来指示非 ajax 请求正在进行中。

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

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

Non-ajax requests completely reload the whole page. So you can't literally use p:ajaxStatus to indicate that a non-ajax request being in progress.

If your request results in page navigation, then there is no use of p:ajaxStatus. Otherwise you could couple up the ajax request with p:ajaxStatus.

Shortly p:ajaxStatus can not be used to show the status of non ajax request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文