如何使用jQuery执行服务器端的Python脚本?

11 投票
4 回答
28826 浏览
提问于 2025-04-15 18:54

我有一个非常简单的Python文件,叫做python1.py,里面的内容是:

f = open('C:\\Temp\\test.txt', 'w')
f.write('Succeeded')
f.close()

我想通过JavaScript来执行这个文件,像这样:

jQuery.ajax({
   type: "POST",
   url: "/cgi-bin/python1.py",
   success: function (msg) {
       alert("Data Saved: " + msg);
   }
});

但是,结果只是弹出一个提示框,显示了Python脚本的内容。C:\Temp\test.txt这个文件并没有被创建,所以显然Python并没有被执行。

我该怎么做才能让代码执行Python脚本,而不是仅仅读取它呢?

4 个回答

7

你也可以使用一个开源项目叫做Pico。它是一种非常优雅的方法,可以让你从客户端的JavaScript代码调用服务器端的Python代码。

作者在这里提供了一些简单的例子,大家可以看看 https://github.com/fergalwalsh/pico/wiki/Example-1:-Hello-World

7

你只需要配置你的网络服务器,让它能够执行你的 *.py 脚本,而不是把它们当成普通文本来处理。

如果你使用的是 Apache 作为网络服务器,你需要启用 mod_python 或者 mod_wsgi


编辑:

因为你在使用 Apache,建议你查看以下文章,它简单介绍了如何设置 mod_python 模块:

4

你能直接从浏览器运行这个脚本吗?这看起来更像是网页服务器的设置问题,而不是jQuery的问题。

撰写回答