ASP - AJAX 与 ASP
AJAX ສາມາດສ້າງບັນຍາຍທີ່ມີຄວາມຫຼາຍຄວາມປະສົມປະສານ.
ກໍານົດຕົວຢ່າງ AJAX ASP
ການອະທິບາຍຄືນ - ບລະບົບທີ່ຈະສົ່ງຂໍ້ມູນໃຫ້ບັນຍາຍອອກຫາບັນຍາຍທີ່ຈະສົ່ງມູນຈາກຜູ້ນຳໃຊ້ເຂົ້າຄູ່ມູນໃນປະຕູເຂົ້າ:
ກໍານົດຕົວຢ່າງ
ກະລຸນາເຂົ້າຄູ່ມູນຂອງທ່ານເຂົ້າໃນປະຕູເຂົ້າດ້ານລາຍການ (A - Z):
ຂໍ້ສັນຍາ:
ການອະທິບາຍຄືນ - ບລະບົບ HTML
ເມື່ອຜູ້ນຳໃຊ້ເຂົ້າຄູ່ມູນຈາກປະຕູເຂົ້າຂັ້ນຕົ້ນນີ້ກໍ່ຈະເຮັດການ "showHint()" ຟັງການ. ຟັງການນີ້ໄດ້ຖືກຈັດຕັ້ງໂດຍເຫດການ "onkeyup":
<!DOCTYPE html> <html> <head> <script> function showHint(str) { if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// ກິດຈະກຳສຳລັບ IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// ກິດຈະກຳສຳລັບ IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","gethint.asp?q="+str,true); xmlhttp.send(); } </script> </head <body> <p><b>ກະລຸນາເຂົ້າຄຳຂັດແຍ່ງພາສາອັງກິດໃນບັນນາທິບັນຍັດ:</b></p> <form> ຊື່ຫນັງ: <input type="text" onkeyup="showHint(this.value)" size="20"> </form> <p>ຄຳແນະນຳ: <span id="txtHint"></span></p> </body> </html>
ການອະທິບາຍລະບົບຕອນຫຼັກ:
ຖ້າບັນນາທິບັນຍັດວ່າຫຼັງ (str.length==0) ພາສານຈະກຳຈັດຄວາມຂອງຄວາມທີ່ຈະປະກອບຂອງ txtHint ແລະຈະອອກຈາກພາສານນັ້ນ
ຖ້າບັນນາທິບັນຍັດບໍ່ວ່າຫຼັງ (str.length==0) showHint() ຈະເຮັດບັນດາການດັ່ງຕໍ່ມາ:
- ສ້າງບັນດາ XMLHttpRequest
- ສ້າງພາສານທີ່ຈະເຮັດວຽກໃນທີ່ບັນຊີຕອບຮັບຈະຈະຖືກຈັດກຽມ
- ສົ່ງຄຳຂໍໃຫ້ບັນຊີທີ່ຢູ່ໃນບັນຊີທີ່ບໍລິການ
- ບໍ່ມີການຫຼຸດຜ່ອນຄຳຂັດແຍ່ງ (q) ທີ່ຢູ່ທີ່ທ້າຍ URL (ບັນຈຸຂອງຄີນິນເຂົ້າ)
ເອັສພີ ບັນຊີ
ບົດສະຫຼັກ JavaScript ທີ່ເຮັດວຽກກັບໜ້າທີ່ບໍລິການຂອງບັນຊີ "gethint.asp".
"gethint.asp" ແມ່ນລະບົບຕອນຫຼັກທີ່ກວດກາອາລົມຊື່, ແລະສົ່ງຊື່ຕອບສະໜອງຫາບູລິກເຊີມ:
<% response.expires=-1 dim a(30) 'ບັນທຶກອາລົມທີ່ມີຊື່ 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" 'ຊອກຄວາມຂັ້ນ q ຈາກ URL q=ucase(request.querystring("q")) 'ຖ້າຄວາມຂັ້ນ 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 'ຖ້າບໍ່ພົບຄວາມນຸພາບ, ອອກຄວາມຂັ້ນ "no suggestion" 'ບອກຫຼືອອກຄູ່ມູນທີ່ຖືກຕ້ອງ if hint="" then response.write("no suggestion") else response.write(hint) end if %>
ການອະທິບາຍລະບົບຕອນຫຼັກ:
ຖ້າ JavaScript ສົ່ງຄວາມຂັ້ນ (ວ່າ strlen($q) ກວມເອົາ 0 ຕະຫຼອດ), ຈະເກີດຂື້ນ:
- 查找匹配来自 JavaScript 的字符的姓名
- 如果未找到匹配,则将响应字符串设置为 "no suggestion"
- 如果找到一个或多个匹配姓名,则用所有姓名设置响应字符串
- 把响应发送到占位符 "txtHint"