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

时间:2010-02-04 16:59:39

标签: javascript jquery python ajax

我有一个非常简单的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 个答案:

答案 0 :(得分:7)

您只需将Web服务器配置为执行* .py脚本,而不是将其作为纯文本提供。

如果您使用Apache作为Web服务器,则需要启用mod_pythonmod_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的详细信息,请参阅:

http://webpython.codepoint.net/cgi_tutorial