У меня есть 100% действующая модель Ajax, написанная на Javascript, с несколькими входными данными, которые я использую: метод Get или Post, с какой страницей связываться, какую строку отправлять на эту страницу и с каким элементом на моей собственной странице я мог бы возиться, когда Я получаю свой ответ. Проблема в том, что если я настрою запрос на асинхронный (следовательно, Ajax), IE вернет ошибку «Данные, необходимые для завершения этой операции, еще не доступны» в событии onreadystatechange, где все, что я делаю, это проверяю, является ли состояние готовности 4 и статус 200. Ошибка не появляется в Firefox или Chrome, как я ожидал, поскольку Ajax является асинхронным.
Вот фрагмент метода Post
xmlhttp.open("POST", commPage, true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
j = xmlhttp.responseText;
i.innerHTML = j;
}
}
xmlhttp.send(str);
Изменить: я должен указать, что в IE я использую ActiveX Control -> Msxml2.XMLHTTP или Microsoft.XMLHTTP или в зависимости от того, что первым возвращает true.