为了账号安全,请及时绑定邮箱和手机立即绑定

从javascript与正在运行的python通信的正确方法

从javascript与正在运行的python通信的正确方法

陪伴而非守候 2021-08-17 18:31:23
我的目标:正在运行的python不断改变变量的值。只要python正在更改值,就可以使用html和javascript实时显示浏览器上的更改值。以下是我用谷歌搜索的解决方案:使用Flask编写 python 代码请求从javascript通过Ajax运行pythonpython 将变量作为 JSON 响应给 javascript基于此解决方案,我有以下问题,如果有任何误解,请随时纠正我。必须先手动执行 python,然后 javascript 才能将 ajax 请求发送到http://localhost:5000/[...some @app.route()]. 我需要在第一个 ajax 请求之后python开始无限运行(while 循环)。Flask python不能有 while 循环。不确定app.run()Flask的机制。一旦达到第一点,一旦python更改变量,javascript还必须不断更新html。现在看来我必须不断发送ajax请求才能从python中获取变量。真的很感谢任何信息来解决我的问题!
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

基本上,你需要三个部分

  • 你的蟒蛇循环A

  • 一个网络应用程序 B

  • 和一个 javascript 应用程序 C

您可以将 A+B 组合到一个进程中,在这种情况下,您必须在单独的线程中运行循环,或者您可以使用任何可用的 IPC 方式(例如共享内存/管道/套接字)在 A 和 B 之间进行通信。一个简单的解决方案是使用数据库服务器,A 向其写入数据,B 从中读取数据。

如果A和B是分开的,那么B不一定是python,你可以用js或php或其他任何东西来写。

为了避免在客户端进行轮询,可以使用WebSockets在 B 和 C 之间进行通信。


查看完整回答
反对 回复 2021-08-17
?
温温酱

TA贡献1752条经验 获得超4个赞

您必须在另一个线程或进程中运行 while 循环,例如使用flask-celery

javascript更新可以通过setTimeout来实现


查看完整回答
反对 回复 2021-08-17
  • 2 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信