如何使用AJAX从Python接收内容

2024-07-05 14:34:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用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
")

我已经:

  • 使用chmod 755 get.pyget.py文件设置为可执行文件
  • 已验证是否在我的服务器上启用了CGI权限(即其他.CGI脚本工作)
  • 验证了我的AJAX脚本可以与其他静态文件一起工作,例如.txt文件

我肯定我漏掉了一些明显的东西,但我想得到一些帮助!你知道吗


Tags: 文件pydiv脚本内容getifrequest
1条回答
网友
1楼 · 发布于 2024-07-05 14:34:24

添加到Python文件的顶部(假设*nix环境):

#!/usr/bin/env python

如果还没有,请确保web服务器将.pyPython脚本视为CGI脚本。Apache的一个例子是以下指令:

  <Directory /srv/www/yoursite/public_html>
        Options +ExecCGI
        AddHandler cgi-script .py
    </Directory>

相关问题 更多 >