Я не могу понять, почему все внутри функции request.onreadystate вплоть до комментария работает, а следующие alert () - нет. Сценарий, кажется, ломается после оператора if.
Я бы очень хотел, чтобы кто-то посмотрел на мой код для меня. Большое спасибо.
function positionHandler(position) {
if (!document.getElementById("span")) document.body.appendChild(document.createElement("span"));
document.getElementsByTagName("span")[0].innerHTML = "("+position.coords.latitude+","+position.coords.longitude+")";
request = new XMLHttpRequest();
request.asycnc = false;
request.open('GET','get.php?latitude='+position.coords.latitude+'&longitude='+position.coords.longitude);
request.onreadystatechange = function() {
if (request.readyState != 4) return false;
else if (request.readyState == 4 && request.status == 200) {
var results = request.responseXML.getElementsByTagName('note');
for (var i in results) {
if (!document.getElementById(results[i].getAttribute('id'))) {
var note = document.createElement('div');
note.innerHTML = results[i].childNodes[2].childNodes[0].nodeValue;
note.id = results[i].getAttribute('id');
document.getElementById('main').appendChild(note);
//everything up until this point works
}
}
alert("this doesn't work 1");
}
alert("this doesn't work 2");
}
request.send(null);
alert("this does work!");
}
var position = navigator.geolocation.watchPosition(positionHandler);