我将数据发布到页面并进行一些需要 5-6 秒的检查。我想插入一个等待页面来改善用户体验。我的代码是这样的:....functions that take timeecho $twig->render('template.html.twig',[ variables ....]);因为 PHP 在处理完数据后会在最后调用 twig 模板,所以我无法使用 javascript 解决方案。我尝试先渲染一个等待模板,然后处理数据并将输出存储在会话变量中,然后将位置标头发送到结果页面,但我发现 PHP 不会回显等待模板,直到它完成整个脚本,即使我一开始就调用它。echo $twig->render('waiting.html.twig',[ variables ....]);....functions that take timestore output as session variable.send location header to another page that renders the template from the session variable如何实现等待页面?
3 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
最简单的解决方案是在第一页中添加“等待页面”但将其隐藏。当用户按下按钮浏览器将发送请求,但仍会等待响应显示旧页面。在这里你可以使用 JS 来展示它。简而言之 - 用户按下按钮,您显示模板(已经存在但隐藏了),然后浏览器只是等待您的模板在前面的响应。
但最好的方法是像爱国者建议的那样使用 AJAX。
浮云间
TA贡献1829条经验 获得超4个赞
您总是可以临时存储数据并为用户加载一个虚拟的“加载页面”。就在虚拟页面加载时,您发送一个 ajax 请求来恢复您的数据并对其进行处理。当 ajax 调用返回时,您可以进行重定向或在该过程完成后您想做的任何事情。
当我说“临时存储数据”时,我的意思是在数据库或文件等中。
- 3 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消