JavaScript. Подробное руководство, 6-е издание, стр. 286
Основная причина для вызова метода
<b>abort()</b><b>XMLHttpRequest</b>Спецификация «XHR2» определяет свойство
<b>timeout</b><b>XMLHttpRequest</b><b>timeout</b><b>ontimeout</b><b>setTimeout()</b><b>abort().</b>Пример 18.12. Реализация поддержки предельного времени ожидания
<b>// Выполняет запрос HTTP GET на получение содержимого указанного URL.</b><b>// В случае благополучного получения ответа передает содержимое responseText функции</b><b>// обратного вызова. Если ответ не пришел в течение указанного времени, выполнение </b><b>// запроса прерывается. Броузеры могут возбуждать событие "readystatechange" после </b><b>// вызова abort(), а в случае получения части ответа свойство status может даже </b><b>// свидетельствовать об успехе, поэтому необходимо установить флаг, чтобы избежать </b><b>// вызова функции в случае получения части ответа при прерывании запроса по превышению </b><b>// времени ожидания. Эта проблема не наблюдается при использовании события load, </b><b>function timedGetText(url, timeout, callback) {</b><b> var request = new XMLHttpRequest(); // Создать новый запрос,</b><b> var timedout = false; // Истекло ли время ожидания.</b><b> // Запустить таймер, который прервет запрос по истечении</b><b> // времени, заданного в миллесекундах.</b><b> var timer = setTimeout(function() { // Запустить таймер. Если сработает,</b><b> timedout = true; // установить флаг</b><b> request.abort(); // и прервать запрос.</b><b> };</b><b> timeout); // Интервал времени ожидания</b><b> request.open( "GET", url); // Указать URL запроса</b><b> request.onreadystatechange = function() { // Обработчик события.</b><b> if (request.readyState !== 4) return; // Игнорировать незаконч. запрос</b><b> if (timedout) return; // Игнорировать прерв. запрос</b><b> clearTimeout(timer); // Остановить таймер,</b><b> if (request.status === 200) // В случае успеха</b><b> callback(request.responseText); // передать ответ функции.</b><b> };</b><b> request.send(null); // Отправить запрос</b><b>}</b>18.1.6. Выполнение междоменных НТТР-запросов
Будучи субъектом политики общего происхождения (раздел 13.6.2), объект
<b>XMLHttpRequest</b><b><form></b><b><iframe></b><b>XMLHttpRequest</b><b>responseText</b><b>XMLHttpRequest</b><b><script></b><b><script></b><b>XMLHttpRequest</b>Спецификация «ХНН2» позволяет выполнять междоменные запросы к другим веб-сайтам, указанным в заголовке «CORS» (Cross-Origin Resource Sharing) HTTP-ответа. На момент написания этих строк текущие версии броузеров Firefox, Safari и Chrome поддерживали заголовок «CORS», а версия IE8 поддерживала собственный объект
<b>XDomainRequest</b><b>XMLHttpRequest</b>