我已经在python中编写了一个算法,并围绕它编写了一个Web界面。提交表单并启动算法后,我希望在页面运行时推送和更新页面上的数据。我怎么能做到这一点?
答案 0 :(得分:3)
要在网页之间进行实时或半实时通信,
使用HTML <head>
中的元刷新标记
使用JavaScript和AJAX HTTP GET获取更新的数据:https://api.jquery.com/jquery.get/
使用服务器发送的已发送事件:http://www.html5rocks.com/en/tutorials/eventsource/basics/
使用WebSockets:http://www.html5rocks.com/en/tutorials/websockets/basics/
除了第一个方法之外,所有方法除了了解服务器端Python之外还需要基本的JavaScript技能。后两种方法建议对实时通信有更深入的了解。因此,如果您不熟悉Web开发,我建议选择元刷新标记。
在服务器端,您需要启动一个处理长时间运行进程的进程或线程,然后让此进程将其进度写入数据库。当Web UI自行更新时,它会从数据库中读取最新结果,然后将其推送/移回浏览器。