XmlHttpRequest BadRequest в 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)}}

Резултатът от това винаги е status:400 (лоша заявка) и readyState:4 (лоша заявка).

Нов съм в python, AJAX и js и се чудя дали има някакъв проблем при използването на XmlHttpRequest в web2py и каква е причината да не мога да стигна до файла...

някакви мисли? Благодаря


person MobileCushion    schedule 13.11.2013    source източник


Отговори (1)


URL адресът, който предавате на .open(), е относителен URL адрес, така че ще бъде добавен към URL адреса на текущата страница, което най-вероятно не е правилно. Ако този файл е в статичната папка на приложението web2py, ще трябва да посочите URL адреса, както следва:

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

Както и да е, освен ако нямате основателна причина да не го правите, вероятно е по-добре да използвате web2py ajax() функция или една от функциите на jQuery Ajax (.ajax или .load).

person Anthony    schedule 13.11.2013