Javascript 在mac osx 10.11上的MAMP 3.5上运行python脚本

Javascript 在mac osx 10.11上的MAMP 3.5上运行python脚本,javascript,python,macos,mamp,Javascript,Python,Macos,Mamp,我尝试在新的MAMP 3.5上运行一个简单的“helloWorld”python代码段,因为旧的xampp可能在更新MacOSX el capitan时遇到问题 MAMP文档说明嵌入了mod_wsgi、实际python和mod_python。但是,如果我将test.py放在htdocs中,并尝试通过JavaScript函数(ajax.POST)与它联系,似乎找到了脚本,但结果我只在firebug控制台中收到test.py的文本。不知何故,python脚本似乎没有执行 test.py中的标题是#/

我尝试在新的MAMP 3.5上运行一个简单的“helloWorld”python代码段,因为旧的xampp可能在更新MacOSX el capitan时遇到问题

MAMP文档说明嵌入了mod_wsgi、实际python和mod_python。但是,如果我将test.py放在htdocs中,并尝试通过JavaScript函数(ajax.POST)与它联系,似乎找到了脚本,但结果我只在firebug控制台中收到test.py的文本。不知何故,python脚本似乎没有执行

test.py中的标题是
#/bin/usr/python
,我还尝试将test.py放在MAMP/cgi-bin目录中,或者使用其他现有的python路径(MAMP/“哪个python”)有人有主意吗?以下是我的两个片段:

    <script type="text/javascript">
        $(document).ready(function(){

            $("button").click(function(){

                var myValue = $("input:text").val();
                console.log(myValue);

                $.ajax({
                     type: "POST",
                     url: "test.py",
                     data: { myPy: myValue},

                     success: function(data) {   
                        console.log("This is my result: ", data);             
                    }        
                });
            });
       });
    </script>

我遇到了完全相同的问题,我通过以下方法解决了问题:

披露:

  • 目前正在运行MAMP 3.5
  • Python 2.7
步骤:

  • 在标记内的httpd.conf文件(MAMP/conf/Apache/httpd.conf)中添加以下行,如下所示:
  • 要添加的行:

    Options FollowSymLinks +ExecCGI
    
    要添加到中的部分:

        <Directory />
            Options Indexes FollowSymLinks
            AllowOverride None
            Options FollowSymLinks +ExecCGI
        </Directory>
    
    这将为您提供所需的输出。如果您不想使用原始CGI,请查看本文,了解python脚本的其他选项(即django)

    希望这有帮助

        <Directory />
            Options Indexes FollowSymLinks
            AllowOverride None
            Options FollowSymLinks +ExecCGI
        </Directory>
    
     #!/usr/bin/python
     print 'Content-type: text/html\n\n'
     import cgi
     response = cgi.FieldStorage()
     print response["myPy"].value