我有一个显示数据库中某些信息的列表,当您向数据库添加项目时,我希望列表更新。
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一般都很陌生,所以它可能是一个简单的错误,但它在过去几个小时里一直让我发疯。
答案 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);