ASP - AJAX και ASP
- Προηγούμενη Σελίδα Εισαγωγή στο AJAX
- Επόμενη Σελίδα Βάση Δεδομένων AJAX
Το 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>
Explicación del código fuente:
Αν το πεδίο εισαγωγής είναι κενό (str.length==0), η συνάρτηση θα καθαρίσει το περιεχόμενο του placeholder txtHint και θα αποχωρήσει από τη συνάρτηση.
Αν το πεδίο εισαγωγής δεν είναι κενό, η συνάρτηση showHint() θα εκτελέσει τις παρακάτω παραμέτρους:
- Δημιουργία αντικειμένου XMLHttpRequest
- Δημιουργία συνάρτησης που εκτελείται όταν ο διακομιστής είναι έτοιμος να απαντήσει
- Αποστολή αιτήματος στο αρχείο στον διακομιστή
- Παρακαλώ προσθέστε τον παράμετρο (q) στο τέλος της URL (περιλαμβάνει το περιεχόμενο του πεδίου εισαγωγής)
Αρχείο ASP
Η σελίδα διαχείρισης διαδικτύου αυτής της κλήσης JavaScript ονομάζεται αρχείο ASP "gethint.asp".
"El código fuente en "gethint.asp" verificará el array de nombres y luego devolverá los nombres correspondientes al navegador:"
<% response.expires=-1 dim a(30) 'Rellenar el array con nombres 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" 'Obtener el parámetro q desde la URL q=ucase(request.querystring("q")) 'Si la longitud q>0, se buscan todas las sugerencias en el array 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 'Si no se encuentra sugerencia, se presenta "no suggestion" 'o presentar los valores correctos if hint="" then response.write("no suggestion") else response.write(hint) end if %>
Explicación del código fuente:
Si o JavaScript envía algún texto (es decir, strlen($q) es mayor que 0), entonces ocurre:
- Αναζήτηση ταιριάζοντων ονομάτων από τα χαρακτήρες JavaScript
- Αν δεν βρεθεί ταιριάζον ονομα, η απάντηση θα ρυθμιστεί σε "no suggestion"
- Αν βρεθούν ένα ή περισσότερα ταιριάζοντα ονόματα, η απάντηση θα ρυθμιστεί με όλα τα ονόματα
- Αποστολή της απάντησης στο κενό "txtHint"
- Προηγούμενη Σελίδα Εισαγωγή στο AJAX
- Επόμενη Σελίδα Βάση Δεδομένων AJAX