AJAX javobi


ULASHISH

onreadystatechange xususiyati

readyState xususiyati XMLHttpRequest holatini saqlaydi.

onreadystatechange xususiyati readyState o‘zgarganda bajariladigan funksiyani belgilaydi.

status va statusText xususiyatlari XMLHttpRequest obyektining holatini saqlaydi.

Xususiyat Tavsif
onreadystatechange readyState xususiyati o‘zgarganda chaqiriladigan funksiyani belgilaydi
readyState XMLHttpRequest holatini saqlaydi.
0: so‘rov ishga tushirilmagan
1: server bilan ulanish o‘rnatilgan
2: so‘rov qabul qilingan
3: so‘rov qayta ishlanmoqda
4: so‘rov yakunlangan va javob tayyor
status 200: "OK"
403: "Forbidden"
404: "Page not found"
To‘liq ro‘yxat uchun Http xabarlari ma’lumotnomasiga o‘ting
statusText Holat matnini qaytaradi (masalan, "OK" yoki "Not Found")

onreadystatechange funksiyasi readyState har safar o‘zgarganda chaqiriladi.

readyState 4 ga va status 200 ga teng bo‘lganda javob tayyor bo‘ladi:

Misol

function loadDoc() {     var xhttp = new XMLHttpRequest();     xhttp.onreadystatechange = function() {         if (this.readyState == 4 && this.status == 200) {             document.getElementById("demo").innerHTML =             this.responseText;        }     };     xhttp.open("GET", "ajax_info.txt", true);     xhttp.send(); }
O‘zingiz sinab ko‘ring »

Yuqoridagi misolda ishlatilgan "ajax_info.txt" fayli oddiy matnli fayl bo‘lib, quyidagicha ko‘rinadi:

<h1>AJAX</h1> <p>AJAX is not a programming language.</p> <p>AJAX is a technique for accessing web servers from a web page.</p> <p>AJAX stands for Asynchronous JavaScript And XML.</p>

onreadystatechange hodisasi to‘rt marta (1-4) — readyState’dagi har bir o‘zgarish uchun bir martadan ishga tushadi.



Callback funksiyasidan foydalanish

Callback funksiyasi — boshqa funksiyaga parametr sifatida uzatiladigan funksiya.

Agar veb-saytda bir nechta AJAX vazifasi bo‘lsa, XMLHttpRequest obyektini bajarish uchun bitta funksiya va har bir AJAX vazifasi uchun bittadan callback funksiyasi yaratishingiz kerak.

Funksiya chaqiruvi URL’ni va javob tayyor bo‘lganda qaysi funksiyani chaqirish kerakligini o‘z ichiga olishi kerak.

Misol

loadDoc("url-1", myFunction1); loadDoc("url-2", myFunction2); function loadDoc(url, cFunction) {   var xhttp;   xhttp=new XMLHttpRequest();   xhttp.onreadystatechange = function() {     if (this.readyState == 4 && this.status == 200) {       cFunction(this);     }  };   xhttp.open("GET", url, true);   xhttp.send(); } function myFunction1(xhttp) {   // action goes here } function myFunction2(xhttp) {   // action goes here }
O‘zingiz sinab ko‘ring »

Server javobi xususiyatlari

Xususiyat Tavsif
responseText javob ma’lumotlarini string sifatida olish
responseXML javob ma’lumotlarini XML ma’lumotlari sifatida olish

Server javobi metodlari

Metod Tavsif
getResponseHeader() Server resursidan muayyan sarlavha (header) ma’lumotini qaytaradi
getAllResponseHeaders() Server resursidan barcha sarlavha (header) ma’lumotlarini qaytaradi

responseText xususiyati

responseText xususiyati server javobini JavaScript stringi sifatida qaytaradi va undan shunga mos ravishda foydalanishingiz mumkin:

Misol

document.getElementById("demo").innerHTML = xhttp.responseText;
O‘zingiz sinab ko‘ring »

responseXML xususiyati

XML HttpRequest obyektida o‘rnatilgan XML parser mavjud.

responseXML xususiyati server javobini XML DOM obyekti sifatida qaytaradi.

Bu xususiyat yordamida javobni XML DOM obyekti sifatida tahlil qilishingiz (parse) mumkin:

Misol

cd_catalog.xml faylini so‘rang va javobni tahlil qiling (parse):

xmlDoc = xhttp.responseXML; txt = ""; x = xmlDoc.getElementsByTagName("ARTIST"); for (i = 0; i < x.length; i++) {   txt += x[i].childNodes[0].nodeValue + "<br>";   } document.getElementById("demo").innerHTML = txt; xhttp.open("GET", "cd_catalog.xml", true); xhttp.send();
O‘zingiz sinab ko‘ring »

XML DOM haqida ushbu darslikning DOM boblarida ancha ko‘proq narsalarni o‘rganasiz.


getAllResponseHeaders() metodi

getAllResponseHeaders() metodi server javobidagi barcha sarlavha (header) ma’lumotlarini qaytaradi.

Misol

var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() {   if (this.readyState == 4 && this.status == 200) {     document.getElementById("demo").innerHTML =     this.getAllResponseHeaders();   } };
O‘zingiz sinab ko‘ring »

getResponseHeader() metodi

getResponseHeader() metodi server javobidagi muayyan sarlavha (header) ma’lumotini qaytaradi.

Misol

var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() {   if (this.readyState == 4 && this.status == 200) {     document.getElementById("demo").innerHTML =     this.getResponseHeader("Last-Modified");   } }; xhttp.open("GET", "ajax_info.txt", true); xhttp.send();
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!