【问题标题】:need to communicate between python and javascript [closed]需要在python和javascript之间进行通信[关闭]
【发布时间】:2020-03-05 17:12:32
【问题描述】:

在我说什么之前,我想提一下这个问题可能会被标记为重复,但是我已经访问了至少 10 个其他类似的问题,但没有一个能够回答如何做到这一点。

我目前正在一个项目的开始阶段工作,目前它只有一个 html/css 文件、一个 js 文件和一个 py 文件,我的问题是我需要从 JavaScript 文件向 python 文件发送一些信息,然后接收一些 JavaScript 将打印到 UI 的信息。

我已经读到您应该使用 JSON 来执行此操作,并且您应该使用 Jquery ajax 方法,但是当我尝试使用 post 时会引发错误,并且该站点当前位于本地 Web 服务器上。

【问题讨论】:

  • 让我们看看你的尝试。

标签: javascript python jquery ajax


【解决方案1】:

要将 JS 数据发送到 python 程序,在 python 中处理数据,然后将其发送回您的 JS,您需要将 python 程序设置为web server。您可以使用单独的服务器作为中间人,但这个简单的任务不需要这样做。

在您的 python web 服务器上,您需要定义一个 POST 端点,您的 JS 可以通过fetch() 访问该端点。在该端点(一个函数)中,您处理发送的 JSON 并发送回您想要的任何响应。

控制流:

  1. fetch('http://localhost:PORTNUMBERHERE', {method: 'post', body: JSON.stringify(data)})
  2. python POST 方法(我没有使用 python 的经验,但上面的链接应该足够了)
  3. 在 fetch 解析时处理由 fetch 返回的承诺,并将其馈送到呈现的内容中

【讨论】:

    【解决方案2】:

    您找不到它的原因是因为您的问题是荒谬的(不是坏事,这只是单独有意义的单词,而不是放在一起)。

    您不能在“文件之间”发送信息。您可以将信息从一个进程发送到另一个进程。

    如果 Python 文件包含有效的 Python 程序,您可以使用 Python 解释器运行该程序,并从该程序发送/接收数据。

    您如何做到这一点取决于该程序是什么以及它是如何工作的。

    JavaScript 将在 Web 浏览器中运行,因此 Python 程序可能需要成为“浏览器中运行的 JavaScript 代码”(而不是“JavaScript 文件”)的 Web 服务器才能运行与它交流。

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      相关资源
      最近更新 更多