1

我一直在四处寻找,但我不太确定要搜索什么......

我想让一个网页在您第一次打开页面时向 python 脚本发送一个 Get 请求,也许可以选择使用按钮刷新它。有没有办法发送请求(“script.py?var=test”)并在页面中显示结果?

我之前尝试使用的东西:(没用..)我在做一些愚蠢的事情吗?我对 JavaScript 一无所知

    <p>Highscores:</p> 
    <p id='scores'>text</p> 
<input type='button' onclick='changeText()' value='Change Text'/>
<script type="text/javascript">
function changeText(){
    var request = new XMLHttpRequest();
    request.open("GET", "../../cgi-bin/highScore.py?scoreMethod=load&game=ulama", true)
    request.onreadystatechange = function(){
        var done = 4, ok = 200;
        if (request.readyState == done && requeset.status == ok){
                document.getElementById('scores').innerHTML = request.responseText;
        }
    };
    request.send();
}
</script>

另外,我是否应该让 python 脚本返回带有标题和所有内容的完整页面?还是只是相关部分?

4

2 回答 2

0

在这种情况下使用 Jquery 调用来稍微清理一下您的代码。

同样在这种情况下,由于“野兽”的性质,您应该使用帖子:)

function changeText(){
$.ajax({
 method  : "POST",
 URL     : "../../cgi-bin/highScore.py",
 data    :  {   
                "scoreMethod" : "load",
                "game"        :  "ulama"
            },
 success  :  function(data) {
       $("#scores").html(data);
 }
});


}

我还会考虑返回 JSON 和 jquery,因为从长远来看它可能会更容易(尽管我从来没有玩过 python.

于 2012-06-08T06:59:29.150 回答
0

为什么不使用 jquery 来执行此操作?

$('#scores').load('../../cgi-bin/highScore.py?scoreMethod=load&game=ulama', function(responseText, textStatus) {
      alert(textStatus);//check here whether textStatus equals 'success' or something else (maybe an error)
}); 
于 2012-06-08T07:01:34.450 回答