情况如下:客户端用户输入一些数据,按下命令按钮,发起ajax请求。根据输入数据,服务器端的 JSF Bean 重定向到不同的页面。但除了 HTML5 特性 localstorage 和 sessionStorage 应该在客户端更新,也取决于 bean 的结果。对于存储,用户输入的一些数据是必要的,因此用于存储的 java 脚本必须在原始页面中。
现在,问题似乎是在响应之后总是先完成重定向,然后再执行 js 函数,因此无法在 curses 客户端访问用户的输入数据。
在使用回调参数(重定向发生较早)或服务器端的 RequestContext.execute (但在内部也使用我认为的 oncomplete 事件)后,我尝试在客户端按下命令按钮(如“oncomplete”)后调用 js 函数. 我可以想象的一种可能的解决方案是在客户端使用 window.onunload 和一个隐藏的输入公式来获取 bean 的结果。但是没有更好的解决方案吗?