我试图使用webapp创建一个计算某些内容的页面,然后将答案返回给用户。
基本上我有类似的东西:
class Index(webapp2.RequestHandler):
def post(self):
computeforlongtime()
return pagewithanswer
其中pagewithanswer是html页面字符串。因此,现在它需要用户等待很长时间而不是显示答案。如何更改它以便显示某种进度条或其他什么?当我从方法返回时,页面会移位,我没有办法省略这个。
我真的很感谢你的帮助。 感谢。
答案 0 :(得分:0)
有很多方法可以做到这一点,取决于你真正想要的东西,我会尝试放弃一些:
使用XMLHttpRequest执行查询(更好地使用jQuery之类的框架),在操作期间显示不确定的进度条,在获取进度条时显示结果。
使用XMLHttpRequest执行查询,让服务器在某处存储其进度,使用XMLHttpRequest不时查询进度的当前状态,显示确定的进度条,您可以找到可以计算估计的库剩余时间
使用XMLHttpRequest执行查询,服务器是否会不时向客户端发回进程。您可以使用每种推送技术从旧的学校HTTP长轮询到Web套接字执行此操作。您可以使用RabbitMQ,crossbar.io等工具。
您可以通过不时刷新缓冲区来传输HTTP响应中的进度,例如twitter流API