如何在XMLHTTPRequest中通过javascript更新url

时间:2015-05-25 10:31:35

标签: javascript xmlhttprequest

我正在尝试更新我的javascript函数中的网址,例如

http://tmaserv.scem.uws.edu.au/chapters/?n=0
http://tmaserv.scem.uws.edu.au/chapters/?n=1

等等。
我尝试过使用for循环,但它没有用。

Javascript:

function do_exercise () {
    var x = new XMLHttpRequest();{
        x.open('GET', 'http://tmaserv.scem.uws.edu.au/chapters/?n=0', true);
        x.onreadystatechange = function() {
            if (x.readyState == 4 && x.status ==200) {
                obj = (x.responseText);
                JSON.parse(x.responseText);
                obj = JSON.parse(obj);
                document.getElementById("section1").innerHTML =
            obj.data
            }
        }
        x.send(null);
    }
}

HTML:

<nav>           
    <button onclick="do_exercise();">Next section</button>      
</nav>
<section id = "section1">
    <h1>Heading One</h1>
    <p>Paragraph One.</p>
</section>

1 个答案:

答案 0 :(得分:1)

你可以这样做:

var requestNum = 0;

function do_exercise () {
    var x = new XMLHttpRequest();
    // adjust the GET URL to reflect the new n value and request as before
    x.open('GET', 'http://tmaserv.scem.uws.edu.au/chapters/?n=' + requestNum, true);
    x.onreadystatechange = function() {
        if (x.readyState == 4 && x.status ==200) {
            obj = (x.responseText);
            JSON.parse(x.responseText);
            obj = JSON.parse(obj);
            document.getElementById("section1").innerHTML = obj.data;
            requestNum++;
        }
    }

    x.send(null);
}

这有意义吗?请注意,我删除了一些花括号,我认为这行是var x = new XMLHttpRequest();{的错误。

我还建议您使用jQuery.getJSON进行AJAX调用,以获得更好的浏览器兼容性和更清晰的代码。

编辑:让我的答案变得更加简单。感谢罗伯特指出我完全过分思考的地方!