AJAX XMLHttpRequest

Объект XMLHttpRequest делает AJAX возможным.

XMLHttpRequest

Объект XMLHttpRequest является ключом к AJAX.

Этот объект уже доступен в Internet Explorer 5.5 и после выпуска в июле 2000 года, но до обсуждения AJAX и Web 2.0 в 2005 году этот объект не был хорошо известен.

Создание объекта XMLHttpRequest

Разные браузеры используют разные методы для создания XMLHttpRequest объект.

Internet Explorer использует ActiveXObject.

Другие браузеры используют имя XMLHttpRequest внутреннего объекта JavaScript.

Чтобы преодолеть эту проблему, можно использовать этот простой код:

var XMLHttp=null
if (window.XMLHttpRequest)
  {
  XMLHttp=new XMLHttpRequest()
  }
else if (window.ActiveXObject)
  {
  XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }

Комментарий к коду:

  1. Сначала создайте объект, который будет использоваться в качестве объекта XMLHttpRequest: XMLHttp Переменная. Установите его значение в null.
  2. Затем проверьте window.XMLHttpRequest Доступен ли объект. В новых версиях браузеров Firefox, Mozilla, Opera и Safari этот объект доступен.
  3. Если это возможно, то используйте его для создания нового объекта:XMLHttp=new XMLHttpRequest()
  4. Если это недоступно, то проверьте window.ActiveXObject Доступен ли. В версиях Internet Explorer 5.5 и выше этот объект доступен.
  5. Если это возможно, используйте его для создания нового объекта:XMLHttp=new ActiveXObject()

Улучшенный пример

Некоторые программисты предпочитают использовать последнюю самую быструю версию объекта XMLHttpRequest.

Ниже приведен пример, который пытается загрузить последнюю версию "Msxml2.XMLHTTP", доступную в Internet Explorer 6, если загрузка не удалась, то возвращается к "Microsoft.XMLHTTP", доступной в Internet Explorer 5.5 и более поздних версиях.

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Комментарий к коду:

  1. Сначала создайте XMLHttp Переменная. Установите его значение в null.
  2. Создание объекта по веб-стандартам (Mozilla, Opera и Safari):XMLHttp=new XMLHttpRequest()
  3. Создание объекта по методу Microsoft, доступно в Internet Explorer 6 и выше:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
  4. Если ошибка была捕获а, попробуйте более старый метод (Internet Explorer 5.5):XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

Более подробная информация о объекте XMLHttpRequest

Если вы хотите узнать больше о XMLHttpRequest, пожалуйста, посетите наш Учебник AJAX.