ajax请求python脚本

时间:2012-07-28 18:37:12

标签: python ajax cgi

我刚刚测试了我制作的脚本。它在python中。我使用ajax发送请求并尝试获得结果。

function ajaxFunction(){
    var ajaxRequest;
    var e = document.getElementById("ktype");
    var ktype = e.options[e.selectedIndex].value;
    var acookie = document.getElementById("acookie").value;
alert (ktype +"\n" + acookie);
    try{
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                return false;
            }
        }
    }
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState < 4){
            document.getElementById("resp").innerHTML = "<center><img src='loading.gif' style='max-width:60px; max-height:60px;'></center>";
        }
        if(ajaxRequest.readyState == 4){
            document.getElementById("resp").innerHTML = ajaxRequest.responseText;
        }
    }
ajaxRequest.open("POST", "kindle.py", true);
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
ajaxRequest.send("amzcookie=" + acookie + "&ktype=" + ktype);
}

python脚本使用CGI。没有像django这样的网络框架。

当我执行此请求时,它只打印python文件的内容。没有代码被执行。

1 个答案:

答案 0 :(得分:3)

您应该使用JQuery代替编写自己的Ajax请求,而不是写一行:

$.post('link-to-my-python-script',{data},
          function(answer){
                      // process your request here ..
                  });

您可以在此处详细了解:JqueryPost