我有一个非常简单的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脚本而不只是阅读它?
答案 0 :(得分:7)
您只需将Web服务器配置为执行* .py脚本,而不是将其作为纯文本提供。
如果您使用Apache作为Web服务器,则需要启用mod_python或mod_wsgi。
修改强>
由于您使用的是Apache,因此您可能需要查看以下文章,其中简要介绍了如何设置mod_python模块:
答案 1 :(得分:7)
您也可以使用开源项目Pico。这是从客户端Javascript调用服务器端Python代码的一种非常优雅的方式。
作者在这里提供了一些简单的例子https://github.com/fergalwalsh/pico/wiki/Example-1:-Hello-World
答案 2 :(得分:4)
您是否可以直接从浏览器执行脚本。这看起来更像是一个网络服务器配置问题而不是jquery的
答案 3 :(得分:1)
如果你的脚本很简单,你最好在服务器端使用CGI而不是其他人建议的mod_python或mod_wsgi。有关如何使用Python和简单脚本示例设置Apache for CGI的详细信息,请参阅: