gpt4 book ai didi

javascript - Liferay 事件强制渲染

转载 作者:行者123 更新时间:2023-11-28 02:19:08 25 4
gpt4 key购买 nike

我有一个 Liferay portlet,我通过 AJAX 在其中执行一些操作。当我在 serverResource 中处理这些操作时,我想强制所有客户端进行渲染。我尝试了一些方法,但它们似乎只对每个客户有效。我所说的客户端是指我的网站中执行操作的用户(即单击按钮来更改搜索容器中实体的状态)。

我尝试通过在实体更新时触发事件来使用客户端 IPC。当我的 AJAX 调用成功时,我会触发该事件,但该事件不会被我的其他客户端(我打开同一页面的第二个浏览器)捕获,因此它不会刷新,除非我刷新我不刷新的页面想做。

我查看了配置发送方/接收方 portlet(我的一个 portlet 是发送方和接收方),但这看起来需要我提交会导致页面刷新的操作,因此无法使用它。我确实从 processAction 中调用了 include,认为它会触发所有客户端的渲染,但仅适用于发出 ajax 请求的客户端。

此时,我不知道如何强制所有客户端刷新,除非我像 ajax 轮询例程一样进行设置,这可能是我唯一的前进道路,但任何建议都会受到赞赏。

最佳答案

JSR 286 对服务器端 IPC 进行了标准化,屏幕上的单个 portlet 没有 Ajax 动态刷新。您必须让您自己的 portlet 了解您将通过 JS 自行触发的事件,并且不能依赖门户容器中任何开箱即用的(标准化)内容。

据我所知,serveResource 无法触发事件(但我没有仔细检查规范),如果触发了,则事件肯定不会通过 Ajax 触发任何渲染,而无需在您端自定义代码

关于javascript - Liferay 事件强制渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com