0

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が初めてで、web2pyでXmlHttpRequestを使用する際に問題があるかどうか、またファイルにアクセスできない理由は何なのか疑問に思っています...

何かご意見は?ありがとう

4

1 に答える 1

1

渡す URL.open()は相対 URL であるため、現在のページの URL に追加されますが、これはおそらく正しくありません。そのファイルが web2py アプリケーションの static フォルダにある場合、次のように URL を指定する必要があります:

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

ajax()とにかく、そうしない正当な理由がない限り、おそらく web2py関数、または jQuery Ajax 関数の 1 つ (.ajaxまたは)を使用する方がよいでしょう.load

于 2013-11-13T14:15:10.750 に答える