Я разрабатываю код JavaScript для запуска на встроенном устройстве с помощью браузера ANT Galio.
В идеале я хотел бы, чтобы код отправлял запрос на получение на другой сервер.После того, как этот запрос get сделан, страница не позволит пользователю отправить другой запрос get, пока не будет получен ответ от предыдущего запроса get.
Почему-то иногда я получаю состояние готовности 4 почти мгновенно.Как будто он оценивает предыдущий объект XmlHttpRequest, а не новый.Что я делаю не так?
<script type="text/javascript">
var fail= function (env, resp, stat) {
alert(resp);
};
var succ= function (env, resp) {
};
var canScan = true;
/* start scan */
function scan (name) {
if (canScan) {
//deactivate button
deactivateScanButtons();
//let server know
ajax = new XMLHttpRequest();
var scanUrl = 'http://19X.1XX.X.XX:8080/scan/' + name
ajax.open('GET', scanUrl, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==4) {
//allow button to work again
activateScanButtons();
alert("ready state 4");
};
};
ajax.send();
//initiate scan
xrxScanInitiateScan(
'http://127.0.0.1',
"ftp.xst",
false,
succ,
fail);
}
}
function deactivateScanButtons () {
// canScan = false;
var indicator = document.getElementById('buttons');
indicator.style.visibility = "hidden";
}
function activateScanButtons () {
// canScan = true;
var indicator = document.getElementById('buttons');
indicator.style.visibility = "visible";
}
</script>