По умолчанию запрос ajax
( Асинхронный Javascript и XML) является асинхронным.
Это означает, что вы обращаетесь к переменной xmlhttp
слишком рано.Он не имеет readyState === 4 и не имеет статуса === 200 на данный момент.Вам нужно поместить это в обработчик onreadystatechange
, который срабатывает каждый раз, состояние готовности меняется для текущего запроса.
xmlhttp.onreadystatechange = function() {
var xmlDoc;
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
xmlDoc = xmlhttp.responseXML;
alert(xmlDoc);
}
};
Обратите внимание, что приведенный выше пример очень минималистичен.В реальном коде вам нужно сделать намного больше зависимых от браузера вещей (в основном для IE).