我试图告知用户使用GSP模板执行任务的进度(这是以叠加方式显示)
用户提交数据,控制器调用服务以完成任务。在此过程中,我有另一个服务,计算完成百分比计算并将值返回到函数(下面)。根据任务的大小,第一个服务可以多次调用此计算服务。
def progress(progressData) {
def statusToView = progressData
[statusToView:statusToView]
}
我不认为我可以使用Ajax remoteFunction调用,因为我不会通过该属性' progressData'从GSP模板到控制器 - 这会产生缺少属性的错误。
我想要做的就是在用户更新后向用户显示百分比(statusToView)值,当进程完成后,从任务开始的功能会重定向到一个页面,通知用户作业已完成
模板代码只是变量值:
${statusToView}
答案 0 :(得分:0)
有两种可能的解决方案:
WebSocket API允许您的服务在发生时将更新推送到浏览器。
下一个问题是模板。在这种情况下,您无法使用普通模板。我的建议是编写一个<div id="updates">Starting...</div>
的模板。在您的JavaScript回调中,您可以按ID找到此元素,并将内容替换为服务器中的最新消息。