XMLHttpRequest
XMLHttpRequest — հին դպրոց, ինչպե՞ս է աշխատում, օրինակներ
XMLHttpRequest
(XHR) API-ն հանդիսանում է JavaScript-ում HTTP հարցումներ կատարելու առաջին և հիմնական ներկառուցված մեթոդը, որը հայտնվել է դեռևս 2000-ականների սկզբներին Ajax տեխնոլոգիայի հետ միասին։ Այն թույլ է տալիս բրաուզերային ծրագրերին կատարել asynchronous (ոչ խափանող) և synchronous (խափանող) HTTP հարցումներ՝ առանց ամբողջ էջի ռեֆրեշի:
XHR-ը իրականացնում է ցանցային հաղորդակցությունը ներքևի մակարդակով՝ օգտագործելով բրաուզերի ներքին ցանցային stack-ը, և ապահովում է մանրակրկիտ վերահսկողություն հարցման վրա՝ ներառյալ՝
Սակայն XHR API-ն ունի նաև որոշ սահմանափակումներ՝
Այժմ դիտարկենք մի պարզ օրինակ, թե ինչպես կարելի է XHR-ով կատարել GET հարցում և ստանալ JSON պատասխան՝
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status >= 200 && xhr.status < 300) {
try {
const response = JSON.parse(xhr.responseText);
console.log("Response data:", response);
} catch (e) {
console.error("Failed to parse JSON:", e);
}
} else {
console.error("Request failed with status:", xhr.status);
}
}
};
xhr.onerror = function() {
console.error("Network error occurred");
};
xhr.send();
Պարզաբանումներ՝
open()
մեթոդը բացում է հարցման տեսակը և URL-ըonreadystatechange
օպերատորը հետևում է հարցման տարբեր վիճակներին՝ readyState
-ինstatus
սերվերի պատասխանների ստատուս կոդն է (200-299 կարգի՝ հաջողված)responseText
պարունակում է սերվերից ստացված տվյալները որպես տեքստsend()
իրականացնում է հարցումըԵզրակացություն՝
Fetch API
՝ ավելի մաքուր, Promise-հիմնված API-ի համար