我尝试运行一个简单的" helloWorld"新的MAMP 3.5上的python-snippet,因为旧的xampp可能会对mac osx el capitan的更新产生问题。
MAMP-Documentation表示mod_wsgi,实际的python和mod_python是嵌入的。但是,如果我将我的test.py放在htdocs并尝试通过JavaScript函数(ajax.POST)联系它,似乎找到了脚本,但结果我只在firebug-console中收到test.py的文本背部。不知怎的,似乎没有执行python脚本。
test.py中的标题是#!/bin/usr/python
,我还尝试将test.py放在MAMP / cgi-bin目录中,或者使用其他现有的python路径(MAMP /"哪个python& #34;)有没有人有想法?以下是我的两个片段:
<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>
这是test.py:
#!/bin/usr/python
def myjsfunction (myPy):
return (myPy)
答案 0 :(得分:1)
我遇到了完全相同的问题,我通过以下方式设法解决了问题:
披露:
步骤:
要添加的行:
Options FollowSymLinks +ExecCGI
要添加的部分:
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Options FollowSymLinks +ExecCGI
</Directory>
按如下方式创建一个.cgi python文件(此文件的扩展名应为.cgi btw,你应该从你的ajax调用中调用它):
#!/usr/bin/python
print 'Content-type: text/html\n\n'
import cgi
response = cgi.FieldStorage()
print response["myPy"].value
这应该可以为您提供所需的输出。如果您不想使用原始CGI,请查看此帖子以获取python脚本的其他选项(即django)。
How are POST and GET variables handled in Python?
希望这有帮助。