Объект XMLHttpRequest
на самом деле не так уж и сложен в использовании.Чтобы обеспечить широкую совместимость, вам нужно немного поиграть в создание объекта, но после этого это довольно просто для простых операций.
У Microsoft есть примеры на странице MSDN для XMLHttpRequest
, включая функцию создания объекта кросс-браузерным способом, поддерживающую ранние версии IE.Вот их пример:
function getXMLHttpRequest()
{
if (window.XMLHttpRequest) {
return new window.XMLHttpRequest;
}
else {
try {
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
catch(ex) {
return null;
}
}
}
function handler()
{
if (oReq.readyState == 4 /* complete */) {
if (oReq.status == 200) {
alert(oReq.responseText);
}
}
}
var oReq = getXMLHttpRequest();
if (oReq != null) {
oReq.open("GET", "http://localhost/test.xml", true);
oReq.onreadystatechange = handler;
oReq.send();
}
else {
window.alert("AJAX (XMLHTTP) not supported.");
}
Я не говорю, что вышеприведенные примеры иллюстрируют лучшие практики (у Microsoft, похоже, их примеры MSDN в основном написаны очень, очень неопытными инженерами), но это дает вам отправную точку.Например, вышеприведенное требует, чтобы статус ответа был 200 для успеха, где, конечно, спецификация HTTP ясна, что любой диапазон 200 <= n <= 299 является «успехом». </p>