AJAX ASP


AJAX yanada interaktiv ilovalar yaratish uchun ishlatiladi.


ULASHISH

AJAX ASP misoli

Quyidagi misol foydalanuvchi kiritish maydoniga belgilar yozayotganda veb-sahifa veb-server bilan qanday aloqa qilishi mumkinligini ko‘rsatadi:

Misol

Start typing a name in the input field below:

First name:   Suggestions:



Misol tushuntirilishi

Yuqoridagi misolda foydalanuvchi kiritish maydoniga belgi yozganda "showHint()" nomli funksiya bajariladi.

Funksiya onkeyup hodisasi orqali ishga tushadi.

Mana HTML kodi:

Misol

<html> <head> <script> function showHint(str) {     if (str.length == 0) {         document.getElementById("txtHint").innerHTML = "";         return;     } else {         var xmlhttp = new XMLHttpRequest();         xmlhttp.onreadystatechange = function() {             if (this.readyState == 4 && this.status == 200) {                 document.getElementById("txtHint").innerHTML = this.responseText;             }         };         xmlhttp.open("GET", "gethint.asp?q=" + str, true);         xmlhttp.send();     } } </script> </head> <body> <p><b>Start typing a name in the input field below:</b></p> <form> First name: <input type="text" onkeyup="showHint(this.value)"> </form> <p>Suggestions: <span id="txtHint"></span></p> </body> </html>
O‘zingiz sinab ko‘ring »

Kod tushuntirilishi:

Avval kiritish maydoni bo‘shligini tekshiring (str.length == 0). Agar bo‘sh bo‘lsa, txtHint joy egasining tarkibini tozalang va funksiyadan chiqing.

Biroq kiritish maydoni bo‘sh bo‘lmasa, quyidagilarni bajaring:

  • XMLHttpRequest obyektini yaratish
  • Server javobi tayyor bo‘lganda bajariladigan funksiyani yaratish
  • So‘rovni serverdagi ASP faylga (gethint.asp) yuborish
  • E’tibor bering, q parametri qo‘shilgan: gethint.asp?q="+str
  • str o‘zgaruvchisi kiritish maydonining tarkibini saqlaydi


ASP fayl - "gethint.asp"

ASP fayl ismlar massivini tekshiradi va mos keladigan ism(lar)ni brauzerga qaytaradi:

<% response.expires=-1 dim a(30) 'Fill up array with names a(1)="Anna" a(2)="Brittany" a(3)="Cinderella" a(4)="Diana" a(5)="Eva" a(6)="Fiona" a(7)="Gunda" a(8)="Hege" a(9)="Inga" a(10)="Johanna" a(11)="Kitty" a(12)="Linda" a(13)="Nina" a(14)="Ophelia" a(15)="Petunia" a(16)="Amanda" a(17)="Raquel" a(18)="Cindy" a(19)="Doris" a(20)="Eve" a(21)="Evita" a(22)="Sunniva" a(23)="Tove" a(24)="Unni" a(25)="Violet" a(26)="Liza" a(27)="Elizabeth" a(28)="Ellen" a(29)="Wenche" a(30)="Vicky" 'get the q parameter from URL q=ucase(request.querystring("q")) 'lookup all hints from array if length of q>0 if len(q)>0 then   hint=""   for i=1 to 30     if q=ucase(mid(a(i),1,len(q))) then       if hint="" then         hint=a(i)       else         hint=hint & " , " & a(i)       end if     end if   next end if 'Output "no suggestion" if no hint were found 'or output the correct values if hint="" then   response.write("no suggestion") else   response.write(hint) end if %>

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!