2016-08-23 4 views
-1

У меня есть PHP-скрипт, который запрашивает базу данных и возвращает таблицу, в зависимости от ввода, например .results.php? F = 1.Несколько вызовов Ajax иногда сбой

Я пытаюсь вызвать его несколько раз из 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().

Что может быть неправильным? Состояние квестовой гонки? Проблема с javascript? Когда result.php вызывается только один раз, запрос всегда выполняется успешно.

Спасибо.

+1

Ну если ___but иногда один из запросов не может быть подготовлен SQLite3 :: подготовить() ___, то было бы полезно, чтобы увидеть PHP скрипт, который оказывает эти проблемы – RiggsFolly

+1

55 минут казалось бы достаточно скопировать/вставьте дополнительный код в свой вопрос. Поэтому VTC, поскольку вопросы, требующие отладки, должны включать ...... – RiggsFolly

+0

Я не являюсь файловым помощником stackoverflow, чтобы быть в режиме ожидания на любом комментарии, я очень занят. Кроме того, мне не кажется, что вы действительно поможете. – Michael

ответ

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'); 
+0

'xhttp' и' xmlhttp' являются обе переменными, и поэтому это не имеет значения. OP мог бы назвать его «WoopyDo», если они захотят, пока они продолжат использовать это имя переменной – RiggsFolly