ajax每隔一段时间才更新一次

时间:2012-11-12 06:40:15

标签: php javascript jquery ajax

我有一个显示数据库中某些信息的列表,当您向数据库添加项目时,我希望列表更新。

function getList(id) {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("list").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "tool/getlist.php?q=" + id);
    xmlhttp.send();
}

function addItem() {

    $.post('tool/addListItem.php', $("#addItem").serialize());
    var listID = $("#addItem").serializeArray()[0].value;
    getList(listID);
}​

信息添加正常,问题是当我从addItem()调用getList函数时,如果我再次调用它会更新第一次没有任何反应,但第三次没有任何反应,第四次更新

我在更新前用警报运行了一些调试。

var listID = $("#addItem").serializeArray()[0].value;
alert(listID);
getList(listID);

如果我这样做,点击确定后会更新。

我对javascript和ajax一般都很陌生,所以它可能是一个简单的错误,但它在过去几个小时里一直让我发疯。

2 个答案:

答案 0 :(得分:1)

在帖子完成作业之前,你正在调用post和get is call,即将数据放入数据库。 You need to call the getList in success of post以便从数据库中获取数据。阅读有关帖子here的更多信息。

 $.post('tool/addListItem.php', $("#addItem").serialize()).success(function() {           
          getList(listID); 
 });

答案 1 :(得分:0)

试试这个

xmlhttp.open("GET", "tool/getlist.php?q=" + id,true);