如何使用jQuery执行服务器端的Python脚本?
我有一个非常简单的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的问题。