Baseline Widely available *
ÐÑимеÑание: This feature is available in Web Workers, except for Service Workers.
XMLHttpRequest
ÑÑо API, коÑоÑÑй пÑедоÑÑавлÑÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÑÑнкÑионалÑноÑÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° даннÑми Ð¼ÐµÐ¶Ð´Ñ ÐºÐ»Ð¸ÐµÐ½Ñом и ÑеÑвеÑом. ÐаннÑй API пÑедоÑÑавлÑÐµÑ Ð¿ÑоÑÑой ÑпоÑоб полÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
по ÑÑÑлке без пеÑезагÑÑзки ÑÑÑаниÑÑ. ÐÑо позволÑÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ ÑолÑко ÑаÑÑÑ Ð²ÐµÐ±-ÑÑÑаниÑÑ Ð½Ðµ пÑеÑÑÐ²Ð°Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. XMLHttpRequest иÑполÑзÑеÑÑÑ Ð² AJAX запÑоÑаÑ
и оÑобенно в single-page пÑиложениÑÑ
.
XMLHttpRequest изнаÑалÑно бÑл ÑазÑабоÑан Microsoft и позже заимÑÑвован Mozilla, Apple, и Google. СейÑÐ°Ñ Ð¾Ð½ ÑÑандаÑÑизиÑован WHATWG. ÐеÑмоÑÑÑ Ð½Ð° ÑÐ²Ð¾Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ, XMLHttpRequest
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð»ÑбÑÑ
Ñипов даннÑÑ
, не ÑолÑко XML, и поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð¿Ð¾Ð¼Ð¸Ð¼Ð¾ HTTP (вклÑÑÐ°Ñ file
и ftp).
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ ÑабоÑаÑÑ Ñ XMLHttpRequest
, вÑполниÑе ÑÑÐ¾Ñ ÐºÐ¾Ð´:
var myRequest = new XMLHttpRequest();
более деÑалÑное опиÑание Ñоздание обÑекÑа, можно ÑвидеÑÑ Ð² Ñазделе Using XMLHttpRequest.
СпиÑок меÑодов обÑекÑаXMLHttpRequest(JSObject objParameters);
void abort();
DOMString getAllResponseHeaders();
DOMString? getResponseHeader(DOMString header);
void open(DOMString method, DOMString url, optional boolean async, optional DOMString? user, optional DOMString? password);
void overrideMimeType(DOMString mime);
void send();
void send(ArrayBufferView data);
void send(Blob data);
void send(Document data);
void send(DOMString? data);
void send(FormData data);
void setRequestHeader(DOMString header, DOMString value);
ÐеÑÑандаÑÑнÑе меÑÐ¾Ð´Ñ [noscript] void init(in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow);
[noscript] void openRequest(in AUTF8String method, in AUTF8String url, in boolean async, in AString user, in AString password);
void sendAsBinary(in DOMString body);
УÑÑаÑело ÐÐ¾Ð»Ñ Ð¾Ð±ÑекÑа Attribute Type Description
onreadystatechange
Function?
Callback - ÑÑнкÑиÑ, коÑоÑÐ°Ñ Ð²ÑзÑваеÑÑÑ Ð²ÑÑкий Ñаз, когда поле readyState менÑÐµÑ ÑÐ²Ð¾Ñ Ð·Ð½Ð°Ñение
. Callback вÑполнÑеÑÑÑ Ð² поÑоке ÑабоÑÑ Ð¿ÑиложениÑ.
Ðнимание: Ðн не должен иÑполÑзоваÑÑÑÑ Ð² ÑÐ¸Ð½Ñ ÑоннÑÑ Ð·Ð°Ð¿ÑоÑÐ°Ñ , и не должен вÑполнÑÑÑÑÑ Ð¸Ð· наÑивного кода (? must not be used from native code).
readyState
unsigned short
СоÑÑоÑние запÑоÑа:
0
UNSENT
ÐÐ»Ð¸ÐµÐ½Ñ Ñоздан. ÐеÑод open()
еÑÑ Ð½Ðµ вÑзван. 1
OPENED
ÐÑзван меÑод open()
. Ð ÑÑом ÑоÑÑоÑнии можно добавиÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ ÑеÑез меÑод setRequestHeader()
; вÑзов меÑода send()
оÑпÑÐ°Ð²Ð¸Ñ Ð·Ð°Ð¿ÑоÑ. 2
HEADERS_RECEIVED
ÐÑзван меÑод send()
, полÑÑÐµÐ½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ и код оÑвеÑа (200, 404, 501 и пÑоÑ.). 3
LOADING
ÐагÑÑзка; еÑли знаÑение responseType
Ñавно "text" или пÑÑÑой ÑÑÑоке, Ñо responseText
ÑодеÑÐ¶Ð¸Ñ ÑаÑÑиÑнÑе даннÑе. 4
DONE
ÐпеÑаÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑена. ÐÑе даннÑе полÑÑенÑ. response
varies
Тело ÑÑÑноÑÑи запÑоÑа. СоглаÑно Ð¿Ð¾Ð»Ñ responseType
, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ArrayBuffer
, Blob
, Document
, JavaScript обÑекÑом (Ð´Ð»Ñ "json"), или ÑÑÑокой. Равно null
еÑли запÑÐ¾Ñ Ð½Ðµ завеÑÑÑн или оконÑен Ñ Ð¾Ñибкой.
responseText
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ DOMString
ÐÑÐ²ÐµÑ Ð½Ð° запÑÐ¾Ñ Ð² виде ÑÑÑоки или null
в ÑлÑÑае еÑли запÑÐ¾Ñ Ð½Ðµ ÑÑпеÑен или оÑÐ²ÐµÑ ÐµÑÑ Ð½Ðµ полÑÑен. responseType
XMLHttpRequestResponseType
ÐÐ¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñипа оÑвеÑа.
""
(пÑÑÑÐ°Ñ ÑÑÑока) String (ÑÑÑока, деÑолÑное знаÑение) "arraybuffer"
ArrayBuffer
"blob"
Blob
"document"
Document
"json"
JavaScript обÑекÑ, полÑÑеннÑй пÑÑÑм паÑÑинга JSON ÑÑÑоки, полÑÑенной Ñ ÑеÑвеÑа. "text"
String (ÑÑÑока) "moz-blob"
Firefox - велоÑипед, коÑоÑÑй позволÑÐµÑ ÑабоÑаÑÑ Ñ ÑаÑÑиÑно-полÑÑеннÑми даннÑми Blob
пÑи помоÑи ÑобÑÑий пÑогÑеÑÑа (progressing events). ÐÑа ÑÑÑка позволÑÐµÑ ÑабоÑаÑÑ Ñ Ð¾ÑвеÑом Ð¾Ñ ÑеÑвеÑа, до Ñого как он полÑÑен полноÑÑÑÑ. "moz-chunked-text"
ÐоÑ
оже на поле "text"
, но ÑолÑко наÑ
одиÑÑÑ Ð² поÑоке(streaming). ÐÑо знаÑиÑ, ÑÑо знаÑение доÑÑÑпно ÑолÑко в пÑомежÑÑок вÑемени Ð¼ÐµÐ¶Ð´Ñ ÑобÑÑиÑми пÑогÑеÑÑа ("progress"
event), и ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе коÑоÑÑе пÑиÑли из поÑледнего ÑобÑÑÐ¸Ñ Ð¿ÑогÑеÑÑа.
Ðоле ÑодеÑÐ¶Ð¸Ñ ÑÑÑокÑ, пока вÑполнÑÑÑÑÑ ÑобÑÑÐ¸Ñ Ð¿ÑогÑеÑÑа. ÐоÑле Ñого как оÑÐ²ÐµÑ Ð¿Ð¾Ð»ÑÑен полноÑÑÑÑ, знаÑение Ð¿Ð¾Ð»Ñ Ð¼ÐµÐ½ÑеÑÑÑ Ð½Ð° null
.
РабоÑÐ°ÐµÑ ÑолÑко в Firefox.
"moz-chunked-arraybuffer"
ÐоÑ
оже на поле "arraybuffer"
, но ÑолÑко наÑ
одиÑÑÑ Ð² поÑоке(streaming). ÐÑо знаÑиÑ, ÑÑо знаÑение доÑÑÑпно ÑолÑко в пÑомежÑÑок вÑемени Ð¼ÐµÐ¶Ð´Ñ ÑобÑÑиÑми пÑогÑеÑÑа ("progress"
event), и ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе коÑоÑÑе пÑиÑли из поÑледнего ÑобÑÑÐ¸Ñ Ð¿ÑогÑеÑÑа.
Ðоле ÑодеÑÐ¶Ð¸Ñ ÑÑÑокÑ, пока вÑполнÑÑÑÑÑ ÑобÑÑÐ¸Ñ Ð¿ÑогÑеÑÑа. ÐоÑле Ñого как оÑÐ²ÐµÑ Ð¿Ð¾Ð»ÑÑен полноÑÑÑÑ, знаÑение Ð¿Ð¾Ð»Ñ Ð¼ÐµÐ½ÑеÑÑÑ Ð½Ð° null
.
РабоÑÐ°ÐµÑ ÑолÑко в Firefox.
Note: Starting with Gecko 11.0 , as well as WebKit build 528, these browsers no longer let you use the responseType
attribute when performing synchronous requests. Attempting to do so throws an NS_ERROR_DOM_INVALID_ACCESS_ERR
exception. This change has been proposed to the W3C for standardization.
responseXML
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Document?
ÐÑÐ²ÐµÑ ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом DOM Document
, или null в ÑлÑÑае еÑли запÑÐ¾Ñ Ð¾ÐºÐ¾Ð½ÑилÑÑ Ð¾Ñибкой, или оÑÐ²ÐµÑ Ð½Ðµ полÑÑен полноÑÑÑÑ, или еÑли оÑÐ²ÐµÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ ÑаÑпаÑÑиÑÑ ÐºÐ°Ðº
XML или HTML. ÐÑÐ²ÐµÑ Ð¿Ð°ÑÑиÑÑÑ ÐºÐ°Ðº еÑли Ð±Ñ ÑÑо бÑл text/xml
stream. Ðогда знаÑение responseType
Ñавно "document"
и запÑÐ¾Ñ Ð²Ñполнен аÑинÑ
Ñонно, оÑÐ²ÐµÑ Ð¿Ð°ÑÑиÑÑÑ ÐºÐ°Ðº text/html
stream.
ÐÑимеÑание: ÐÑли ÑеÑÐ²ÐµÑ Ð½Ðµ ÑабоÑÐ°ÐµÑ Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð¼ (не пÑиÑÑÐ»Ð°ÐµÑ Ð² оÑвеÑе) "Content-type: text/xml"
, Ñо можно иÑполÑзоваÑÑ Ð¼ÐµÑод overrideMimeType() Ð´Ð»Ñ Ñого ÑÑÐ¾Ð±Ñ Ð¿Ð°ÑÑиÑÑ Ð¿Ð¾Ð»ÑÑаемÑй оÑÐ²ÐµÑ ÐºÐ°Ðº
XML.
status
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ unsigned short
СÑаÑÑÑ Ð¾ÑвеÑа на запÑоÑ. Равен кодам HTTP (200 - ÑÑпеÑно, 404 не найдено, 301 - пеÑенеÑено навÑегда). statusText
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ DOMString
СÑÑока ÑÑаÑÑÑа оÑвеÑа. РоÑлиÑи Ð¾Ñ Ð¿Ð¾Ð»Ñ status
, ÑÑа ÑÑÑока вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ ÑекÑÑ - ("200 OK
", напÑимеÑ). timeout
unsigned long
ÐÑÐµÐ¼Ñ Ð² миллиÑекÑÐ½Ð´Ð°Ñ , поÑле коÑоÑого запÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑменÑн. ÐнаÑение 0 (по ÑмолÑаниÑ) знаÑÐ¸Ñ ÑÑо ÑаймаÑÑа не бÑдеÑ. Ðикогда.
ÐÑимеÑание: ÐÑ Ð¼Ð¾Ð¶ÐµÑе не иÑполÑзоваÑÑ Ð¿Ð¾Ð»Ðµ timeout Ð´Ð»Ñ ÑÐ¸Ð½Ñ ÑоннÑÑ Ð·Ð°Ð¿ÑоÑов из owning window.
ontimeout
Function
ÐолбÑк-ÑÑнкÑÐ¸Ñ ÐºÐ¾ÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²Ñзвана в ÑлÑÑае ÑаймаÑÑа.
upload
XMLHttpRequestUpload
ÐагÑÑзка (upload process) Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑлеживаÑÑÑÑ Ð¾Ð±ÑабоÑÑиком ÑобÑÑиÑ. withCredentials
boolean
ÐпÑеделÑÐµÑ ÑÑо cross-site запÑоÑ, ÑоглаÑно Access-Control
должен иÑполÑзоваÑÑ Ð°Ð²ÑоÑизаÑÐ¸Ñ (кÑÐµÐ´Ñ Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ð½Ð° и паÑолÑ) ÑеÑез кÑки, или заголовок Ñ Ð°Ð²ÑоÑизаÑионнÑми даннÑми. Ðо ÑмолÑÐ°Ð½Ð¸Ñ false.
ÐÑимеÑание: Ðе влиÑÐµÑ Ð½Ð° same-site запÑоÑÑ.
ÐÑимеÑание: ÐаÑÐ¸Ð½Ð°Ñ Ñ Gecko 11.0 , Gecko болÑÑе не позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾Ð»Ðµ withCredentials
пÑи вÑполнении ÑинÑ
ÑоннÑÑ
запÑоÑов. ÐопÑÑка вÑполниÑÑ ÑÑо вÑбÑаÑÑÐ²Ð°ÐµÑ NS_ERROR_DOM_INVALID_ACCESS_ERR
иÑклÑÑение.
channel
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ nsIChannel
The channel used by the object when performing the request. This is null
if the channel hasn't been created yet. In the case of a multi-part request, this is the initial channel, not the different parts in the multi-part request. Requires elevated privileges to access. mozAnon
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ boolean
ÐÑли знаÑение Ñавно true, запÑÐ¾Ñ Ð¾ÑпÑавлÑеÑÑÑ Ð±ÐµÐ· кÑки и заголовков авÑоÑизаÑии.
mozSystem
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ boolean
ÐÑли знаÑение Ñавно true, same origin policy не бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² запÑоÑе (кÑоÑÑдоменнÑй запÑÐ¾Ñ Ð½Ðµ ÑÑабоÑаеÑ).
mozBackgroundRequest
boolean
ÐÑÐ¾Ñ Ð¼ÐµÑод не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñзван из конÑекÑÑа ÑÑÑаниÑÑ. ÐÐ»Ñ Ñого ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ð¸Ð¼ нÑÐ¶Ð½Ñ Ð¿Ð¾Ð²ÑÑеннÑе пÑивелегии (elevated privileges).
Флаг, ознаÑаÑÑий ÑÑо запÑÐ¾Ñ Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ð°Ð´Ð¾ ÑкÑÑÑÑ. ÐÐ»Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ðµ поÑвиÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ ÑообÑений и/или оповеÑений ÑÑо запÑÐ¾Ñ Ð²Ð¾Ð¾Ð±Ñе бÑл.
Ð ÑлÑÑае, еÑли Ð´Ð»Ñ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа нÑжна какаÑ-Ñо аÑÑенÑиÑикаÑиÑ, и в дÑÑÐ³Ð¸Ñ ÑлÑÑаÑÑ Ð±Ñло Ð±Ñ Ð¾ÑобÑажено оповеÑение, ÑÑÐ¾Ñ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¿ÑоÑÑо не ÑÑабоÑаеÑ.
Note: ÐÑÐ¾Ñ Ñлаг должен бÑÑÑ Ð²ÑÑÑавлен до вÑзова меÑода open()
.
mozResponseArrayBuffer
ТолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ ArrayBuffer
ÐаÑÑив, в коÑоÑÑй лÑÐ¶ÐµÑ Ð¾ÑÐ²ÐµÑ Ð¾Ñ ÑеÑвеÑа, еÑли оÑÐ²ÐµÑ Ð¿ÑиÑ
Ð¾Ð´Ð¸Ñ Ð² виде Javascript маÑÑива ([]). Ð ÑлÑÑае, еÑли запÑÐ¾Ñ Ð½Ðµ ÑдалоÑÑ Ð·Ð°Ð²ÐµÑÑиÑÑ, или еÑли запÑÐ¾Ñ Ð½Ðµ бÑл оÑпÑавлен, Ñо ÑÑо поле бÑÐ´ÐµÑ null. multipart
boolean
This Gecko-only feature was removed in Firefox/Gecko 22. Please use Server-Sent Events, Web Sockets, or responseText
from progress events instead.
Indicates whether or not the response is expected to be a stream of possibly multiple XML documents. If set to true
, the content type of the initial response must be multipart/x-mixed-replace
or an error will occur. All requests must be asynchronous.
This enables support for server push; for each XML document that's written to this request, a new XML DOM document is created and the onload
handler is called between documents.
Note: When this is set, the onload
handler and other event handlers are not reset after the first XMLdocument is loaded, and the onload
handler is called after each part of the response is received.
ÐонÑÑÑÑкÑÐ¾Ñ ÑоздаÑÑ Ð¾Ð±ÑÐµÐºÑ XMLHttpRequest. Ðн должен бÑÑÑ Ð²Ñзван пеÑед обÑаÑением к лÑÐ±Ð¾Ð¼Ñ Ð¼ÐµÑÐ¾Ð´Ñ ÐºÐ»Ð°ÑÑа.
Gecko/Firefox 16 добавлÑÐµÑ Ð½ÐµÑÑандаÑÑнÑе паÑамеÑÑÑ Ð² конÑÑÑÑкÑоÑ, Ð´Ð»Ñ Ð»ÑÑÑего взаимодейÑÑÐ²Ð¸Ñ Ñ Ñежимом инкогниÑо, (ÑмоÑÑи Bug 692677). УÑÑановка Ñлага mozAnon
в знаÑение true
ÑоздаÑÑ ÑÑÑноÑÑÑ AnonXMLHttpRequest()
опиÑаннÑÑ Ð² XMLHttpRequest ÑпеÑиÑикаÑии, но не ÑеализованнÑÑ Ð½Ðµ в одном из бÑаÑзеÑов (инÑоÑмаÑÐ¸Ñ ÑенÑÑбÑÑ 2012).
XMLHttpRequest ( JSObject objParameters );ÐаÑамеÑÑÑ (неÑÑандаÑÑнÑе)
objParameters
ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð´Ð²Ð° Ñлага:
mozAnon
Boolean: ÐÑполÑзование ÑÑого Ñлага ÑбеÑÑÑ Ð¸Ð· запÑоÑа заголовки origin, и user credentials. ÐÑоме ÑÑого, кÑки не бÑдÑÑ Ð¾ÑпÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² запÑоÑе, еÑли ÑолÑко они не бÑдÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ðº запÑоÑÑ ÑпеÑиалÑно, ÑеÑез меÑод setRequestHeader.
mozSystem
Boolean: ÐÑли вÑÑÑавиÑÑ ÑÑÐ¾Ñ Ñлаг в знаÑение true
Ñо ÑÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð´ÐµÐ»Ð°ÑÑ cross-доменнÑе запÑоÑÑ Ð±ÐµÐ· необÑ
одимоÑÑи полÑÑÐµÐ½Ð¸Ñ ÑпеÑиалÑнÑÑ
заголовков Ñо ÑÑоÑÐ¾Ð½Ñ ÑеÑвеÑа (CORS). ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑого Ñлага необÑ
одимо иÑполÑзоваÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй Ñлаг* mozAnon: true
, поÑколÑÐºÑ Ð´Ð»Ñ Ð¾ÑпÑавки запÑоÑа на дÑÑгой домен, нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ ÐºÑки и кÑÐµÐ´Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. ÐÑÐ¾Ñ Ñлаг ÑабоÑÐ°ÐµÑ ÑолÑко Ñ Ð¿ÑивилегиÑованнÑми (одобÑеннÑми) пÑиложениÑми; он не ÑÑабоÑÐ°ÐµÑ Ñ Ð¿ÑоизволÑно загÑÑженнÑми ÑÑÑаниÑами.*
ÐÑменÑÐµÑ Ð·Ð°Ð¿ÑоÑ, еÑли он бÑл оÑпÑавлен.
DOMString getAllResponseHeaders();
ÐозвÑаÑÐ°ÐµÑ Ð²Ñе заголовки оÑвеÑа как ÑÑÑокÑ, или null
еÑли оÑÐ²ÐµÑ Ð½Ðµ бÑл полÑÑен. ÐÐ»Ñ multypart запÑоÑов возвÑаÑÐ°ÐµÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ ÑекÑÑей ÑаÑÑи запÑоÑа, а не вÑего канала.
DOMString? getResponseHeader(DOMString header);
ÐозвÑаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение Ñказанного заголовка из полÑÑенного оÑвеÑа, или null
в ÑлÑÑÐ°ÐµÑ ÐµÑли оÑÐ²ÐµÑ Ð½Ðµ полÑÑен, или Ñакого заголовка в оÑвеÑе неÑ. ÐозвÑаÑÐ°ÐµÐ¼Ð°Ñ ÑÑÑока Ð¸Ð¼ÐµÐµÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ UTF.
ÐÑимеÑание: ÐÑимеÑание: ÐÑли в оÑвеÑе еÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ Ñ Ð¾Ð´Ð½Ð¸ названием, Ñо знаÑÐµÐ½Ð¸Ñ ÑÑиÑ
заголовков бÑдÑÑ Ð¾Ð±ÑÐµÐ´ÐµÐ½ÐµÐ½Ñ Ð² Ð¾Ð´Ð½Ñ ÑÑÑокÑ, ÑазделÑннÑÑ Ð·Ð°Ð¿ÑÑой и пÑобелом.
ÐниÑиализиÑÑÐµÑ Ð·Ð°Ð¿ÑоÑ. ÐÑÐ¾Ñ Ð¼ÐµÑод Ð¼Ð¾Ð¶ÐµÑ (и должен) бÑÑÑ Ð²Ñзван из JavaScript-кода; еÑли необÑ
одимо вÑзваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸Ð· наÑивного кода, Ñо нÑжно иÑполÑзоваÑÑ Ð¼ÐµÑод openRequest()
.
ÐÑимеÑание: ÐÑзов ÑÑого меÑода из акÑивного запÑоÑа (еÑли меÑод open() или
openRequest() Ñже бÑли вÑзванÑ
) ÑквиваленÑно вÑÐ·Ð¾Ð²Ñ Ð¼ÐµÑода abort()
.
void open( DOMString method, DOMString url, optional boolean async, optional DOMString user, optional DOMString password );ÐаÑамеÑÑÑ
method
HTTP меÑод оÑпÑавки ÑообÑÐµÐ½Ð¸Ñ - "GET", "POST", "PUT", "DELETE", и пÑоÑ.. Ignored for non-HTTP(S) URLs.
url
URL адÑеÑ, на коÑоÑÑй бÑÐ´ÐµÑ Ð¾ÑпÑавлено ÑообÑение.
async
ÐеобÑзаÑелÑнÑй boolean паÑамеÑÑ, по ÑмолÑÐ°Ð½Ð¸Ñ ÑавнÑй true
. ÐпÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ запÑÐ¾Ñ Ð¾ÑпÑавлен аÑинÑ
Ñонно. ÐÑли знаÑение Ñавно false
, меÑод send()
веÑнÑÑ Ð¾ÑÐ²ÐµÑ Ð² обÑем поÑоке ÑабоÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (инаÑе говоÑÑ, пÑиложение завиÑÐ½ÐµÑ Ð½Ð° некоÑоÑое вÑемÑ), в пÑоÑивном ÑлÑÑае, оÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÑÑен ÑолÑко пÑи помоÑи опÑеделÑннÑÑ
обÑабоÑÑиков ÑобÑÑий. Ð ÑлÑÑае, еÑли иÑполÑзÑеÑÑÑ Ð¾ÑпÑавка multipart
запÑоÑа, Ñо ÑÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ true
, или бÑÐ´ÐµÑ Ð²ÑбÑоÑено иÑклÑÑение.
ÐÑимеÑание: ÐаÑÐ¸Ð½Ð°Ñ Ñ Gecko 30.0, ÑÐ¸Ð½Ñ ÑоннÑе запÑоÑÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ñ ÐºÐ°Ðº deprecated, в ÑÐ¸Ð»Ñ Ñого ÑÑо вÑе полÑзоваÑели недоволÑÐ½Ñ Ñем, ÑÑо пÑиложение "завиÑаеÑ".
user
ÐеобÑзаÑелÑнÑй паÑамеÑÑ, иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии полÑзоваÑелÑ. Ðо ÑмолÑаниÑ, пÑÑÑÐ°Ñ ÑÑÑока.
password
ÐеобÑзаÑелÑнÑй паÑамеÑÑ, иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии полÑзоваÑелÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑÑÑÐ°Ñ ÑÑÑока.
ÐеÑеопÑеделÑÐµÑ MIME Ñип, полÑÑаемÑй Ð¾Ñ ÑеÑвеÑа. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзовано, напÑимеÑ, Ð´Ð»Ñ Ñого ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¸ ÑаÑпаÑÑиÑÑ Ð´Ð°Ð½Ð½Ñе в ÑоÑмаÑе text/xml, даже, еÑли ÑеÑÐ²ÐµÑ ÑообÑÐ°ÐµÑ ÑÑо ÑÑо не Ñак. ÐÑÐ¾Ñ Ð¼ÐµÑод должен бÑÑÑ Ð²Ñзван пеÑед вÑзовом меÑода send()
.
void overrideMimeType(DOMString mimetype);send()
ÐÑпÑавлÑÐµÑ Ð·Ð°Ð¿ÑоÑ. ÐÑли запÑÐ¾Ñ Ð°ÑÐ¸Ð½Ñ ÑоннÑй (а по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑо Ñак), ÑÑÐ¾Ñ Ð¼ÐµÑод веÑнÑÑ Ð·Ð½Ð°Ñение ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле Ñого как меÑод вÑзван.
ÐÑимеÑание: Ð ÑÑом ÑлÑÑае, в оÑвеÑе не бÑÐ´ÐµÑ ÑодеÑжаÑÑÑÑ Ð¸Ð½ÑоÑмаÑии, коÑоÑÐ°Ñ Ð¿ÑиÑла Ñ ÑеÑвеÑа, поÑколÑÐºÑ Ð¾Ð½Ð° еÑÑ Ð½Ðµ пÑиÑла. ÐÐ»Ñ Ñого ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, нÑжно ÑлÑÑаÑÑ ÑобÑÑÐ¸Ñ Ð·Ð°Ð³ÑÑзки, или иÑполÑзоваÑÑ promise.
ÐÑли запÑÐ¾Ñ ÑÐ¸Ð½Ñ ÑоннÑй, Ñо меÑод веÑнÑÑ Ð·Ð½Ð°Ñение ÑолÑко поÑле Ñого, как пÑидÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¾Ñ ÑеÑвеÑа.
ÐÑимеÑание: ÐÑе необÑ
одимÑе обÑабоÑÑики ÑобÑÑий Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¿ÐµÑед вÑзовом send()
.
ÐÑимеÑание: ÐÑÑÑе не иÑполÑзоваÑÑ Ð¿Ð°ÑамеÑÑ ArrayBuffer. СейÑÐ°Ñ Ð¾Ð½ не вÑ
Ð¾Ð´Ð¸Ñ Ð² ÑпеÑиÑикаÑÐ¸Ñ XMLHttpRequest
. ÐмеÑÑо него можно иÑполÑзоваÑÑ ArrayBufferView (ÑмоÑÑи ÑаблиÑÑ ÑовмеÑÑимоÑÑи Ð´Ð»Ñ ÑазлиÑнÑÑ
веÑÑий).
void send(); void send(ArrayBuffer data); void send(ArrayBufferView data); void send(Blob data); void send(Document data); void send(DOMString? data); void send(FormData data);ÐÑимеÑаниÑ
ÐÑли Ñип data - Document
, Ñо он бÑÐ´ÐµÑ ÑеÑиализован пеÑед оÑпÑавкой. Firefox до веÑÑии 3 вÑегда оÑпÑавлÑÐµÑ Ñакой запÑÐ¾Ñ Ð² кодиÑовке UTF-8; Firefox 3 оÑпÑавлÑÐµÑ Ð´Ð°Ð½Ð½Ñе в Ñой кодиÑовке, коÑоÑÐ°Ñ ÑÐºÐ°Ð·Ð°Ð½Ñ Ð² body.xmlEncoding
, или UTF-8 еÑли Ñакой инÑоÑмаÑии неÑ.
If it's an nsIInputStream
, it must be compatible with nsIUploadChannel
's setUploadStream()
method. In that case, a Content-Length header is added to the request, with its value obtained using nsIInputStream
's available()
method. Any headers included at the top of the stream are treated as part of the message body. The stream's MIMEtype should be specified by setting the Content-Type header using the setRequestHeader()
method prior to calling send()
.
The best way to send binary content (like in files upload) is using an ArrayBufferView or Blobs in conjuncton with the send()
method. However, if you want to send a stringifiable raw data, use the sendAsBinary()
method instead, or the StringView
Non native typed arrays superclass.
УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°Ñение заголовка HTTP-запÑоÑа. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑзваÑÑ setRequestHeader()
поÑле open()
, но пеÑед send()
. ÐÑли даннÑй меÑод вÑзÑваеÑÑÑ Ð½ÐµÑколÑко Ñаз Ñ Ð¾Ð´Ð½Ð¸Ð¼ и Ñем же заголовком, вÑе знаÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑединÑÑÑÑÑ Ð² один заголовок запÑоÑа.
void setRequestHeader( DOMString header, DOMString value );ÐаÑамеÑÑÑ
ÐÐ¼Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, знаÑение коÑоÑого бÑÐ´ÐµÑ ÑÑÑановлено.
value
ÐнаÑение, заданное как Ñело заголовка.
ÐниÑиализиÑÑÐµÑ Ð¾Ð±ÑÐµÐºÑ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ C++ кодом.
ÐÑедÑпÑеждение: Ðнимание: ÐÑÐ¾Ñ Ð¼ÐµÑод нелÑÐ·Ñ Ð²ÑзÑваÑÑ Ð¸Ð· JavaScript.
[noscript] void init( in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow );ÐаÑамеÑÑÑ
principal
ÐÑинÑип, иÑполÑзÑемÑй Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа; не должен бÑÑÑ null
.
scriptContext
ÐонÑекÑÑ ÑкÑипÑа, иÑполÑзÑемого Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа; не должен бÑÑÑ null
.
ownerWindow
Ðкно, ÑвÑзанное Ñ Ð·Ð°Ð¿ÑоÑом; Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ null
.
ÐниÑиализиÑÑÐµÑ Ð·Ð°Ð¿ÑоÑ. ÐÑÐ¾Ñ Ð¼ÐµÑод должен иÑполÑзоваÑÑÑÑ Ð¸Ð· ÑобÑÑвенного кода; Ð´Ð»Ñ Ð¸Ð½Ð¸ÑиализаÑии запÑоÑа из кода JavaScript вмеÑÑо ÑÑого иÑполÑзÑйÑе иÑполÑзÑйÑе open()
меÑод. СмоÑÑиÑе докÑменÑаÑÐ¸Ñ Ð´Ð»Ñ open()
.
ÐаÑÐ¸Ð°Ð½Ñ Ð¼ÐµÑода send()
коÑоÑÑй поÑÑÐ»Ð°ÐµÑ Ð±Ð¸Ð½Ð°ÑнÑе даннÑе.
ÐÑимеÑание: ÐÑÐ¾Ñ Ð½ÐµÑÑандаÑÑнÑй меÑод ÑÑиÑаеÑÑÑ ÑÑÑаÑелÑм по ÑоÑÑоÑÐ½Ð¸Ñ Ð½Ð° Gecko 31, и Ñо вÑеменем бÑÐ´ÐµÑ ÑдалÑн. Ðзамен Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑÑандаÑÑ Ð¼ÐµÑода send(Blob data).
void sendAsBinary( in DOMString body );
ÐаннÑй меÑод иÑполÑзÑеÑÑÑ Ð² ÑоÑеÑании Ñ Ð¼ÐµÑодом readAsBinaryString,
коÑоÑÑй пÑиÑÑÑÑÑвÑÐµÑ Ð² FileReader
API, и позволÑÐµÑ Ð¿ÑоÑиÑаÑÑ Ð¸ загÑÑзиÑÑ Ñайл лÑбого Ñипа и пÑевÑаÑиÑÑ Ð½ÐµÐ¾Ð±ÑабоÑаннÑе даннÑе в JSON-ÑÑÑокÑ.
body
Тело запÑоÑа в виде DOMstring. ÐÑи даннÑе конвеÑÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² ÑÑÑÐ¾ÐºÑ Ñ Ð¾Ð´Ð½Ð¾Ð±Ð°Ð¹ÑовÑми Ñимволами Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑеÑÐµÐ½Ð¸Ñ (ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð¹Ñа Ñ Ð²ÑÑоким поÑÑдком в каждом Ñимволе).
sendAsBinary()
polyfill
Since sendAsBinary()
is an experimental feature, here is a polyfill for browsers that don't support the sendAsBinary()
method but support typed arrays.
/*\
|*|
|*| :: XMLHttpRequest.prototype.sendAsBinary() Polyfill ::
|*|
|*| https://developer.mozilla.org/ru/docs/DOM/XMLHttpRequest#sendAsBinary()
|*|
\*/
if (!XMLHttpRequest.prototype.sendAsBinary) {
XMLHttpRequest.prototype.sendAsBinary = function (sData) {
var nBytes = sData.length,
ui8Data = new Uint8Array(nBytes);
for (var nIdx = 0; nIdx < nBytes; nIdx++) {
ui8Data[nIdx] = sData.charCodeAt(nIdx) & 0xff;
}
/* send as ArrayBufferView...: */
this.send(ui8Data);
/* ...or as ArrayBuffer (legacy)...: this.send(ui8Data.buffer); */
};
}
ÐÑимеÑание: It's possible to build this polyfill putting two types of data as argument for send()
: an ArrayBuffer
(ui8Data.buffer
â the commented code) or an ArrayBufferView
(ui8Data
, which is a typed array of 8-bit unsigned integers â uncommented code). However, on Google Chrome, when you try to send an ArrayBuffer
, the following warning message will appear: ArrayBuffer is deprecated in XMLHttpRequest.send(). Use ArrayBufferView instead.
Another possible approach to send binary data is the StringView
Non native typed arrays superclass in conjunction with the send()
method.
XMLHttpRequest
connections per server to 6 (previous versions limit this to 2 per server). Some interactive web sites may keep an XMLHttpRequest
connection open, so opening multiple sessions to such sites may result in the browser hanging in such a way that the window no longer repaints and controls don't respond. This value can be changed by editing the network.http.max-persistent-connections-per-server
preference in about:config
.XMLHttpRequest
is implemented in Gecko using the nsIXMLHttpRequest
, nsIXMLHttpRequestEventTarget
, and nsIJSXMLHttpRequest
interfaces.onreadystatechange
as a property of the XMLHttpRequest
instance is supported in all browsers.
Since then, a number of additional event handlers were implemented in various browsers (onload
, onerror
, onprogress
, etc.). These are supported in Firefox. In particular, see nsIXMLHttpRequestEventTarget
and Using XMLHttpRequest.
More recent browsers, including Firefox, also support listening to the XMLHttpRequest
events via standard addEventListener
APIs in addition to setting on*
properties to a handler function.
When using System XHR via the mozSystem
property, for example for Firefox OS apps, you need to be sure to add the systemXHR
permission into your manifest file. System XHR can be used in privileged or certified apps.
"permissions": {
"systemXHR":{}
}
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4