代码之家  ›  专栏  ›  技术社区  ›  Charles Anderson

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

  •  10
  • Charles Anderson  · 技术社区  · 15 年前

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

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

    然而,所发生的一切是,我得到一个警报,显示Python脚本的内容。没有创建文件C:\Temp\test.txt,因此显然没有执行Python。

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

    4 回复  |  直到 13 年前
        1
  •  4
  •   Vinodh Ramasubramanian    15 年前

    您是否能够直接从浏览器执行脚本。这看起来更像是Web服务器配置问题,而不是jquery的问题

        2
  •  7
  •   Daniel Vassallo    15 年前

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

    如果将Apache用作web服务器,则需要启用 mod_python mod_wsgi


    编辑:

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

        3
  •  7
  •   Cathal    13 年前

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

    https://github.com/fergalwalsh/pico/wiki/Example-1:-Hello-World

        4
  •  1
  •   Graham Dumpleton    15 年前

    如果您的脚本如此简单,那么最好在服务器端使用CGI,而不是像其他人建议的那样使用mod_python或mod_wsgi。有关如何使用Python和简单脚本示例设置Apache For CGI的详细信息,请参阅:

    http://webpython.codepoint.net/cgi_tutorial