Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数据从后端(python)推送到JS_Javascript_Python - Fatal编程技术网

Javascript 将数据从后端(python)推送到JS

Javascript 将数据从后端(python)推送到JS,javascript,python,Javascript,Python,前端部件 我有一个AJAX请求,它试图每秒从后端句柄获取数据 如果有任何数据,我会获取这些数据,将其添加到我的HTML页面(无需重新加载),然后继续每隔一秒提取数据,等待进一步的更改 后端部件 我每分钟都用芹菜解析网页 从中提取数据并将其传递给数组(这是AJAX请求有新数据的触发器) 问题 在我看来,这个问题还有另一个解决办法 我不想请求从JS到后端的数据。当有任何更改时,我想将数据从后端传递到JS。但是没有页面重新加载 我该怎么做呢?是的,有。您可以使用WebSocket或SSE(服务器端事件

前端部件

我有一个AJAX请求,它试图每秒从后端句柄获取数据

如果有任何数据,我会获取这些数据,将其添加到我的HTML页面(无需重新加载),然后继续每隔一秒提取数据,等待进一步的更改

后端部件

我每分钟都用芹菜解析网页

从中提取数据并将其传递给数组(这是AJAX请求有新数据的触发器)

问题

在我看来,这个问题还有另一个解决办法

我不想请求从JS到后端的数据。当有任何更改时,我想将数据从后端传递到JS。但是没有页面重新加载


我该怎么做呢?

是的,有。您可以使用WebSocket或SSE(服务器端事件)。基本上,这取决于您的具体需求,但请考虑:

-双向数据流。客户端可以向服务器发送数据,反之亦然

WebSocket协议支持客户端之间的双向通信 在受控环境中向远程主机运行不受信任的代码
选择了来自该代码的通信

查看Git中的WebSocket示例

-单向数据流(服务器->客户端)

使服务器能够通过HTTP或使用 专用服务器推送协议,本规范介绍 EventSource接口

使用此API包括创建EventSource对象和 注册事件侦听器


SSE的烧瓶示例。

是的,有。您可以使用WebSocket或SSE(服务器端事件)。基本上,这取决于您的具体需求,但请考虑:

-双向数据流。客户端可以向服务器发送数据,反之亦然

WebSocket协议支持客户端之间的双向通信 在受控环境中向远程主机运行不受信任的代码
选择了来自该代码的通信

查看Git中的WebSocket示例

-单向数据流(服务器->客户端)

使服务器能够通过HTTP或使用 专用服务器推送协议,本规范介绍 EventSource接口

使用此API包括创建EventSource对象和 注册事件侦听器


SSE示例。

您可以使用推送API来实现:

您可以使用推送API来实现:

尝试使用socketio,后端使用socketio上的数据创建事件,前端接收事件并下载数据

我用这种方法解决了一个类似的问题。仅当从后端创建socketio事件时,我才调用后端


您必须在某处使用nodejs设置socketio服务器,尝试使用socketio,后端使用socketio上的数据创建事件,前端接收事件并下载数据

我用这种方法解决了一个类似的问题。仅当从后端创建socketio事件时,我才调用后端


您必须在某个地方为本页面的未来访问者设置带有nodejs的socketio服务器

将数据从服务器推送到客户端的三种主要技术

  • 长/短轮询(客户端请求)
  • WebSocket(服务器推送)
  • 服务器发送事件(服务器推送)

在实施你的计划之前进行检查

对于本页面的未来访问者

将数据从服务器推送到客户端的三种主要技术

  • 长/短轮询(客户端请求)
  • WebSocket(服务器推送)
  • 服务器发送事件(服务器推送)

在实施你的计划之前进行检查

非常感谢。我很难从文档中获取这些知识。我在谷歌上搜索服务器端事件,在我看来解决方案是:)@Snobby,不客气。还添加了示例链接。非常感谢。我很难从文档中获取这些知识。我在谷歌上搜索服务器端事件,在我看来解决方案是:)@Snobby,不客气。还添加了示例链接。