我正在尝试使用AJAX来更新从Python脚本返回的数据的表。当我使用AJAX请求Python脚本时,返回的文本是整个python脚本文件,而不仅仅是print
命令中的内容。
我的AJAX文件:
...standard loadXMLDoc function with callback from W3C AJAX tutorial...
function doNow()
{
loadXMLDoc("cgi-bin/get.py",function()
{
if (request.readyState==4 && request.status==200)
{
document.getElementById("active_items").innerHTML=request.responseText;
}
});
}
window.onload=doNow();
为简单起见,我使用的python文件非常简单:
print("<div>something</div>")
或
import cgi
import cgitb
cgitb.enable(display=0, logdir="/path/to/logdir")
if __name__ == "__main__":
print("Content-type:text/html\n\n")
print("<div>something</div>")
加载页面时,<div id="active_items">
的内容为:
print("
something
")
我已经:
get.py
chmod 755 get.py
文件设置为可执行文件
.txt
文件我确定我错过了一些明显的东西,但我会喜欢一些帮助!
答案 0 :(得分:2)
添加到Python文件的顶部(假定为* nix环境):
#!/usr/bin/env python
如果您还没有,请确保您的Web服务器将.py
Python脚本视为CGI脚本。 Apache的一个例子就是这个指令:
<Directory /srv/www/yoursite/public_html>
Options +ExecCGI
AddHandler cgi-script .py
</Directory>