---
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