Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我的目标:
运行中的python会不断更改变量的值。
只要python更改值,就可以使用html和javascript在浏览器上实时显示更改的值。
以下是我的谷歌解决方案:
使用Flask编写python代码
要求通过javascript通过Ajax运行python
python将变量作为JSON响应返回给javascript
基于此解决方案,我有以下问题,如果有任何误解,请随时纠正我。
必须先手动执行python,然后javascript才能将ajax请求发送到
Flask python不能有while循环。不确定Flask中
一旦达到第一点,一旦python更改了变量,javascript也必须继续更新html。现在看来,我必须继续发送ajax请求以从python获取变量。
非常感谢您提供任何信息以解决我的问题!
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我的目标:
运行中的python会不断更改变量的值。
只要python更改值,就可以使用html和javascript在浏览器上实时显示更改的值。
以下是我的谷歌解决方案:
使用Flask编写python代码
要求通过javascript通过Ajax运行python
python将变量作为JSON响应返回给javascript
基于此解决方案,我有以下问题,如果有任何误解,请随时纠正我。
必须先手动执行python,然后javascript才能将ajax请求发送到
http://localhost:5000/[...some @app.route()]
。我需要第一个ajax请求后python开始无限运行(while循环)。Flask python不能有while循环。不确定Flask中
app.run()
的机制。一旦达到第一点,一旦python更改了变量,javascript也必须继续更新html。现在看来,我必须继续发送ajax请求以从python获取变量。
非常感谢您提供任何信息以解决我的问题!
最佳答案
基本上,您需要三个部分
您的python循环A
Web应用程序B
和一个javascript应用程序C
您可以将A + B组合到一个进程中,在这种情况下,您必须在单独的线程中运行循环,或者可以使用任何可用的IPC手段(例如共享内存/管道/套接字)在A和B之间进行通信。一个简单的解决方案是使用数据库服务器,A向其写入数据,B从其读取数据。
如果A和B是分开的,那么B不必是python,则可以用js或php或其他所有语言编写。
为了避免在客户端进行轮询,可以使用WebSockets在B和C之间进行通信。