【问题标题】:How to run a file on server on html-button click如何在 html 按钮单击时在服务器上运行文件
【发布时间】:2021-01-04 01:52:00
【问题描述】:

如何在不使用框架的情况下通过按下 html 按钮在服务器上执行 Python 文件或 bash 脚本?

我已经尝试了几个版本的 Ajax-Calls,这些版本在回答类似问题时建议,但它们似乎都不适合我。

注意:我在 RaspberryPi 上使用 Apache-Server

【问题讨论】:

  • HTML 按钮应该触发 Ajax 调用(在 JS 中),该调用会到达您服务器上的路由,然后服务器可以执行脚本。
  • 如何让服务器执行脚本?我尝试在服务器上对我的脚本进行 Ajax 调用,但它没有运行它。

标签: javascript python html ajax apache


【解决方案1】:

根据apache documentation,您应该配置 apache 以运行 CGI 脚本,定义一个 url 前缀来映射包含您的脚本的目录,最后您的脚本必须以特定方式返回输出,否则 Apache 将返回错误消息。

因此,例如,如果您定义一个 url 前缀,例如:

ScriptAlias "/cgi-bin/" "/path/to/your/script/cgi-bin/"

您可以创建一个简单的锚点来执行您的脚本,您不需要为此使用 ajax。

<a href="/cgi-bin/myscript.sh">click me</a>

要成功运行您的脚本,您应该遵循“Apache Tutorial: Dynamic Content with CGI”中的 apache 指令

【讨论】: