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)}}

Результатом этого всегда будет статус: 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