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

Cha*_*son 10 javascript python ajax jquery

我有一个非常简单的Python文件,名为python1.py,其内容是:

f = open('C:\\Temp\\test.txt', 'w')
f.write('Succeeded')
f.close()
Run Code Online (Sandbox Code Playgroud)

我希望从JavaScript执行此操作,如下所示:

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

但是,所有发生的事情是我收到一条警告,向我显示Python脚本的内容.文件C:\ Temp\test.txt没有被创建,所以很明显Python没有被执行.

我如何说服代码执行Python脚本而不是只读它?

Dan*_*llo 7

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

如果您使用Apache作为Web服务器,则需要启用mod_pythonmod_wsgi.


编辑:

由于您使用的是Apache,因此您可能需要查看以下文章,其中简要介绍了如何设置mod_python模块:


小智 7

您也可以使用开源项目Pico.这是从客户端Javascript调用服务器端Python代码的一种非常优雅的方式.

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


Vin*_*ian 4

您可以直接从浏览器执行脚本吗?这看起来更像是网络服务器配置问题而不是 jquery 的问题