web2py中的XmlHttpRequest BadRequest

时间:2013-11-13 12:39:14

标签: javascript ajax http xmlhttprequest web2py

我正在尝试使用AJAX和XmlHttpRequest在web2py中加载文本文件:

{{extend 'layout.html'}}

<span id="timer"></span>
<script type="text/javascript">
var count=0;
var counter=setInterval(timer, 250);
var reader = new XMLHttpRequest();

function loadFile() {
    reader = new XMLHttpRequest();
    reader.open('get', 'wnewfile.txt', true); 
    reader.onreadystatechange = displayContents;
    reader.send(null);
}

function displayContents() {
    if(reader.readyState==4 && reader.status==200) {
        document.getElementById("timer").innerHTML=  reader.responseText ;
    } else {
        document.getElementById("timer").innerHTML= "status:" + reader.status  + " Ready State: " + reader.readyState;

    }
}


function timer()
{
  loadFile();

}

</script>

{{=BEAUTIFY(response._vars)}}

结果总是状态:400(错误请求)和readyState:4(错误请求)。

我是python,AJAX和js的新手,我想知道在web2py中使用XmlHttpRequest是否有任何问题,以及我无法访问该文件的原因...

有什么想法?感谢

1 个答案:

答案 0 :(得分:1)

您传递给.open()的网址是相对网址,因此会将其添加到当前网页的网址中,这很可能不正确。如果该文件位于web2py应用程序的静态文件夹中,则需要按如下方式指定URL:

reader.open('get', '{{=URL('static', 'wnewfile.txt')}}', true);

无论如何,除非你有充分的理由不这样做,否则最好使用web2py ajax()函数或jQuery Ajax函数之一(.ajax.load)。