背景 我有很多字段,这些字段将通过外部进程实时更新。我想定期更新Flask托管页面,以向连接的用户显示任何更改。理想情况下,整个页面不会刷新,这是对类似系统的抱怨,而只是更新页面上的许多字段。
当前方向 我目前的想法是使用可能的JavaScript来处理此问题,但是我不确定使用Flask时是否甚至可以实现。
Flask或第3方模块是否可以实现此目的?
其他信息 数据将使用各种套接字和串行端口进行更新。每个接口将在其自己的线程中运行并更新共享内存。请注意,Flask / Web界面具有对共享内存的只读写入,可以由其他线程更新。
客户总人数不得超过20人。这是测试系统的Web界面,通常在任何给定时间只有1-5个人连接到该系统。
为了避免刷新整个页面,你需要使用AJAX。看起来这很容易在flask中实现。
由于你希望它定期发生,因此需要从javascript中的计时器函数调用AJAX函数。
这意味着你只需将flask页面中的javascript放入计时器调用中即可。
这大概是javascript的样子:
setInterval( //Periodically function() { $.getJSON( //Get some values from the server $SCRIPT_ROOT + '/get_values', // At this URL {}, // With no extra parameters function(data) // And when you get a response { $("#result").text(data.result); // Write the results into the // #result element }); }, 500); // And do it every 500ms