javascript - 集成 Python 和 Javascript

标签 javascript python

我有一些 JavaScript,它通过 Slack 中的传出网络 Hook 进行通信,以便读取 Slack 帖子,对其进行一些计算,然后作为机器人发回。我的工作正常,但我想将这些消息中的信息存储在数据库中。 (基本上,我想跟踪积分并向 Slack 提供积分更新)。

我设置了一个Python脚本来与数据库对话,并且可以很好地使用新的点值等更新数据库。我的问题是尝试让JavaScript与Python对话以及Python与JavaScript对话...我需要将两个字符串(要获得更多积分的人名,以及要添加多少分)从 JavaScript 传递到 Python,然后将一个整数/字符串从 Python 传递到 JavaScript。

我已经在网络上搜索了几个小时,我从论坛上发现了一个事实,它可能与 cgi/JSON/AJAX/JQuery 有关,但我在执行中迷失了方向。谁能解释一下如何让这两个人说话?

最佳答案

首先,我没有任何使用 Slack 的经验,但我认为这并不重要。您需要将几个部分组合在一起才能使其发挥作用。首先,你有你的 Python 脚本,你说它工作正常 - 我猜该脚本是通过从终端手动运行它来工作的,所以你需要一种将其暴露到互联网的方法。

这就是您所说的cgi

有很多方法可以做到这一点,但基本上可以归结为拥有一个带有端点的网络服务器,当访问该端点时,会使用适当的参数启动脚本并返回其输出。由于您似乎熟悉 Python,我建议您看一下 Flask ,一个非常易于使用的微框架,可让您设置小型 Web 应用程序。运行 Web 应用程序的方法有多种,特别取决于您使用的 Web 服务器。快速 Google 搜索将显示许多有关此问题的教程。

此外,正确设置从后端发送到 Web 前端的消息的格式也很重要,反之亦然。 这就是您提到 JSON 的原因。这是来回传递消息的好方法。您可以使用内置和第三方库轻松将 Python 对象(例如 dicts)转换为 JSON。

为了在不刷新网站的情况下从前端动态请求和加载信息,您需要某种异步过程。 这就是 AJAX 的意义。它是一种异步发送和接收信息的机制,因此您的网站可以在仍接收信息的同时继续运行。

但是,以跨浏览器兼容的方式手动执行 AJAX 请求是 PITA,因此您最好使用 jQuery 及其与 AJAX 相关的功能。

因此,这些是您应该遵循的让 JavaScript 与 Python 对话的元素和步骤。

关于javascript - 集成 Python 和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039781/

相关文章:

python - gnupg 给我 Windows 错误 5 访问被拒绝

python - 在 Python 应用程序中安排日常任务

python - 如何在python3中将类自变量作为Thread的参数传递?

javascript - 对象预期的 Microsoft Jscript 运行时错误 - Node js

javascript - 如何在express js中间件函数中向RequestHandler声明自定义 Prop ?

javascript - 检查对象是否包含数组中的所有键

Python-套接字超时原因?网络连接丢失或无法阅读?

python - 使用列表中多个字典的条件从键中检索项目

javascript - 使用字符串组合生成排名

javascript - 为什么在 "contents"之前使用逗号