Чтобы получить ответ, добавьте функцию обработчика события readystatechange
.Это будет вызвано, когда ответ будет готов прочитать:
xhr.onreadystatechange= function() {
if (this.readyState!==4) return; // not ready yet
if (this.status===200) { // HTTP 200 OK
alert(this.responseText);
} else {
// server returned an error. Do something with it or ignore it
}
};
xhr.open('GET', 'http://www.example.net/abc.aspx', true);
xhr.send();
Между прочим:
("XMLHttpRequest" in window)
Хотя in
в целом является хорошим способом проверить, существует ли свойство,это одно из немногих мест, где оно не идеально.
Проблема в том, что в IE7 +, когда опция 'native XMLHttpRequest' отключена, XMLHttpRequest
все еще существует как свойство в window
,но с непригодным значением null
.Так что в данном конкретном случае лучше использовать простой тест на правду, который разрешит откат к ActiveX в (маловероятном) случае, если эта опция отключена:
var xhr= window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject('MSXML2.XMLHttp');