---
title: XMLHttpRequest
slug: Web/API/XMLHttpRequest
tags:
- AJAX
- API
- HTTP
- Interface
- NeedsTranslation
- Reference
- TopicStub
- Web
- XHR
translation_of: Web/API/XMLHttpRequest
---
{{APIRef("XMLHttpRequest")}}
Об'єкти XMLHttpRequest використовуються для взаємодії з серверами. Ти можеш отримати дані за URL без повної перезагрузки сторінки. Це дозволяє веб-сторінці оновити частину вмісту, не перешкоджаючи роботі користувача XMLHttpRequest часто використовуюється в програмуванні з використанням технології Ajax.
{{InheritanceDiagram}}
Історія
XMLHttpRequest був спочатку розроблений компанією Microsoft десь у 1999 році і пізніше прийнятий компаніями Mozilla, Apple та Google. З жовтня 2014 року він був стандартизований в WHATWG, разом з новим методом {{domxref("WindowOrWorkerGlobalScope.fetch()", "fetch()")}} на основі промісів.
Не зважаючи на своє ім'я, XMLHttpRequest може використовуватись для отримання будь-якого типу даних, не лише XML, і підтримує інші протоколи окрім HTTP (включаючи file і ftp).
Конструктор
- {{domxref("XMLHttpRequest.XMLHttpRequest", "XMLHttpRequest()")}}
- Конструктор ініціалізує об'єкт XMLHttpRequest. Він має бути викликаний перед використанням будь-яких з його методів.
Властивості
Успадковує властивості {{domxref("XMLHttpRequestEventTarget")}} і {{domxref("EventTarget")}}.
- {{domxref("XMLHttpRequest.onreadystatechange")}}
- {{domxref("EventHandler")}} викликається щоразу, коли атрибут
readyState змінюється.
- {{domxref("XMLHttpRequest.readyState")}} {{readonlyinline}}
- Повертає
unsigned short, the state запиту.
- {{domxref("XMLHttpRequest.response")}} {{readonlyinline}}
- Повертає {{domxref("ArrayBuffer")}}, {{domxref("Blob")}}, {{domxref("Document")}}, об'єкт JavaScript, або ж {{domxref("DOMString")}}, залежить від значення {{domxref("XMLHttpRequest.responseType")}}, що містить тіло відповіді.
- {{domxref("XMLHttpRequest.responseText")}} {{readonlyinline}}
- Повертає {{domxref("DOMString")}}, що містить відповідь на запит в якості тексту, або
null, якщо запит завершився помилкою або не був надісланим досі.
- {{domxref("XMLHttpRequest.responseType")}}
- Вказує на тип відповіді.
- {{domxref("XMLHttpRequest.responseURL")}} {{readonlyinline}}
- Повертає the serialized URL відповіді або ж пустий рядок, якщо URL —
null.
- {{domxref("XMLHttpRequest.responseXML")}} {{readonlyinline}}
- Повертає {{domxref("Document")}}, що містить відповідь на запит або
null, якщо запит завершився помилкою, досі не був надісланий, або не може бути розпізнаний, як XML чи HTML. Not available in workers.
- {{domxref("XMLHttpRequest.status")}} {{readonlyinline}}
- Повертає
unsigned short з статусом відповіді на запит.
- {{domxref("XMLHttpRequest.statusText")}} {{readonlyinline}}
- Повертає {{domxref("DOMString")}}, що містить стрічку відповіді, повернену HTTP-сервером. Навідміну від {{domxref("XMLHTTPRequest.status")}}, що включає цілісний текст відповіді (наприклад, "
200 OK").
- {{domxref("XMLHttpRequest.timeout")}}
- Має тип
unsigned long. Являє собою час у мілісекундах, відведений на запит перед тим, як буде автоматично перерваний.
- {{domxref("XMLHttpRequestEventTarget.ontimeout")}}
- {{domxref("EventHandler")}}, що викликається щоразу після спливання часу, відведенного на запит. {{gecko_minversion_inline("12.0")}}
- {{domxref("XMLHttpRequest.upload")}} {{readonlyinline}}
- {{domxref("XMLHttpRequestUpload")}}, що являє собою процес завантаження.
- {{domxref("XMLHttpRequest.withCredentials")}}
- {{domxref("Boolean")}}, що вказує, чи слід робити запити
Access-Control використовуючи такі облікові дані, як файли cookie або заголовки авторизації.
Нестандартні властивості
- {{domxref("XMLHttpRequest.channel")}}{{ReadOnlyInline}}
- {{Interface("nsIChannel")}}. Канал, що використовується об'єктом коли виконується запит.
- {{domxref("XMLHttpRequest.mozAnon")}}{{ReadOnlyInline}}
- Логічна змінна. Якщо її значення — істина, запит буде надісланий без кукі та заголовків аутентифікації.
- {{domxref("XMLHttpRequest.mozSystem")}}{{ReadOnlyInline}}
- Логічна змінна. Якщо її значення — істина, оригінальна політика не буде застосована до запиту.
- {{domxref("XMLHttpRequest.mozBackgroundRequest")}}
- Логічна змінна. Вказує чи представляє об'єкт сервіс фонового запиту.
- {{domxref("XMLHttpRequest.mozResponseArrayBuffer")}}{{gecko_minversion_inline("2.0")}} {{obsolete_inline("6")}} {{ReadOnlyInline}}
- Є
ArrayBuffer. Відповідь на запит у вигляді масиву JavaScript.
- {{domxref("XMLHttpRequest.multipart")}}{{obsolete_inline("22")}}
- Це особливість Gecko, логічна змінна, що була видалена з Firefox/Gecko 22. Будь ласка, використовуйте натомість Server-Sent Events, Web Sockets, або
responseText.
Обробники подій
onreadystatechange підримується у всіх браузерах, як властивість XMLHttpRequest.
З тих пір у різних браузерах було впроваджено ряд додаткових обробників подій (onload, onerror, onprogress тощо). Вони підтримуються у Firefox. Зокрема, дивіться nsIXMLHttpRequestEventTarget та Using XMLHttpRequest.
Більш нові браузери, включаючи Firefox, також підтримують прослуховування подій XMLHttpRequest починаючи від стандарту API addEventListener в розширені на встановлення властивостей функцій обробника on*.
Methods
- {{domxref("XMLHttpRequest.abort()")}}
- Aborts the request if it has already been sent.
- {{domxref("XMLHttpRequest.getAllResponseHeaders()")}}
- Returns all the response headers, separated by CRLF, as a string, or
null if no response has been received.
- {{domxref("XMLHttpRequest.getResponseHeader()")}}
- Returns the string containing the text of the specified header, or
null if either the response has not yet been received or the header doesn't exist in the response.
- {{domxref("XMLHttpRequest.open()")}}
- Initializes a request. This method is to be used from JavaScript code; to initialize a request from native code, use
openRequest() instead.
- {{domxref("XMLHttpRequest.overrideMimeType()")}}
- Overrides the MIME type returned by the server.
- {{domxref("XMLHttpRequest.send()")}}
- Sends the request. If the request is asynchronous (which is the default), this method returns as soon as the request is sent.
- {{domxref("XMLHttpRequest.setRequestHeader()")}}
- Sets the value of an HTTP request header. You must call
setRequestHeader()after open(), but before send().
Non-standard methods
- {{domxref("XMLHttpRequest.init()")}}
- Initializes the object for use from C++ code.
Warning: This method must not be called from JavaScript.
- {{domxref("XMLHttpRequest.openRequest()")}}
- Initializes a request. This method is to be used from native code; to initialize a request from JavaScript code, use
open() instead. See the documentation for open().
- {{domxref("XMLHttpRequest.sendAsBinary()")}}{{deprecated_inline()}}
- A variant of the
send() method that sends binary data.
Specifications
| Specification |
Status |
Comment |
| {{SpecName('XMLHttpRequest')}} |
{{Spec2('XMLHttpRequest')}} |
Live standard, latest version |
Browser compatibility
{{Compat("api.XMLHttpRequest")}}
See also