我有一个PHP脚本查询数据库并返回一个表,具体取决于输入,例如,结果.php?f = 1.
我试图从JavaScript中多次调用它:
function go(n,divid) {
document.getElementById(divid).innerHTML = "<img src=\"load.gif\">";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(divid).innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", n, true);
xmlhttp.send();
}
稍后致电
go('results.php?print=1&nh=1','d1');
go('results.php?print=2&nh=1','d2');
go('results.php?print=3&nh=1','d3');
go('results.php?print=4&nh=1','d4');
PHP代码连接到SQLite3数据库。上面的问题是有时它可以工作,但有时其中一个查询无法由SQLite3 :: prepare()编写。
可能有什么不对?一个sqlite竞争条件?一个javascript问题? 当只调用一次results.php时,查询总是成功。
感谢。
答案 0 :(得分:1)
使用xhttp而不是xmlhttp。
function go(n,divid) {
var xhttp = new XMLHttpRequest();
document.getElementById(divid).innerHTML = "<img src=\"load.gif\">";
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById(divid).innerHTML = xhttp.responseText;
}
}
xhttp.open("GET", n, true);
xhttp.send();
}
go('results.php?print=1&nh=1','d1');