Xmlhttprequest, microsoft вики, fandom powered by wikia

Хоча в назві присутнє абревіатура XML, технологія не накладає обмежень на формат переданих даних. Дані можна пересилати як у вигляді XML, так і в JSON, HTML або просто неструктурованих текстом. Розробник може самостійно створити формат для передачі даних. Однак потрібно враховувати, що при пересиланні використовується текстовий протокол HTTP і тому при використанні методу GET дані повинні передаватися у вигляді тексту (тобто бінарні дані слід кодувати, наприклад в base64). При використанні методу POST в кодуванні немає необхідності.

Історія Правити

Методи класу XMLHttpRequest Правити

Викликається при перериванні користувачем запиту (під час синхронного запиту).

Приклад використання Правити

План роботи з об'єктом XMLHttpRequest можна представити таким чином:

  1. Створення екземпляра об'єкта XMLHttpRequest
  2. відкриття з'єднання
  3. Установка обробника події (потрібно робити після відкриття і до відправки в IE)
  4. Відправлення запиту.

Створення екземпляра об'єкта XMLHttpRequest. На цій стадії необхідна окрема реалізація для різних браузерів. Система освіти об'єкта відрізняється: в IE 5 - IE 6 вона реалізована через ActiveXObject, а в інших браузерах (IE 7 і вище, Mozilla, Opera, Chrome, Netscape і Safari) - як вбудований об'єкт типу XMLHttpRequest.

Виклик для ранніх версій Internet Explorer виглядає так [3].

В інших браузерах:

Тобто, для забезпечення крос-браузерності коду, потрібно лише перевіряти наявність об'єктів window.XMLHttpRequest і window.ActiveXObject, і, в залежності від того, який є, той і застосовувати.

В якості універсального рішення пропонується використання такої функції:

Установка обробника подій, відкриття з'єднання і відправка запитів

Ці виклики виглядають так:

Після визначення всіх параметрів запиту його залишається тільки відправити. Робиться це шляхом send (). При відправці GET-запиту для версії без ActiveX необхідно вказати параметр null, в інших випадках можна не вказувати ніяких параметрів. Не буде помилкою, якщо для GET завжди буде вказано параметр null:

Після цього починає працювати вищевказаний обробник подій. Він - фактично основна частина програми. У обробнику зазвичай відбувається перехоплення всіх можливих кодів стану запиту і виклик відповідних дій, а також перехоплення можливих помилок. Приклад коду з цими двома функціями:

Відомі проблеми Правити

Схожі статті