Exemple ASP AJAX

AJAX 用于创建更具交互性的应用程序。

Exemple ASP AJAX

下面的例子演示:当用户在输入字段中键入字符时,网页如何与 web 服务器进行通信:

实例

请在下面的输入字段中键入字母 A-Z:

姓名:

搜索建议:

例子解释

在上面的例子中,当用户在输入字段中键入字符时,会执行名为 "showHint()" 的函数。

此函数被 onkeyup 事件触发。

以下是 HTML 代码:

实例

<html>
<head>
<script>
function showHint(str) {
    if (str.length == 0) { 
        document.getElementById("txtHint").innerHTML = "";
        return;
    }
        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>Entrez les lettres A-Z dans le champ d'entrée suivant :</b></p>
<form> 
Nom : <input type="text" onkeyup="showHint(this.value)">
</form>
<p>Recommandations de recherche : <span id="txtHint"></span></p>
</body>
</html>

Essayez-le vous-même

Explication du code :

Tout d'abord, vérifiez si le champ d'entrée est vide (str.length == 0);si c'est le cas, videz le contenu du placeholder txtHint et sortez de la fonction.

Cependant, si le champ d'entrée n'est pas vide, procédez comme suit :

  • Créer un objet XMLHttpRequest
  • Créer une fonction qui s'exécute lorsque le serveur est prêt à répondre
  • Envoyer une requête au fichier ASP (gethint.asp) sur le serveur
  • Veuillez ajouter le paramètre q à gethint.asp
  • La variable str contient le contenu du champ d'entrée

Fichier ASP - "gethint.asp"

Ce fichier ASP vérifie l'array des noms, puis renvoie le nom correspondant au navigateur :

<%
 response.expires=-1
 dim a(32)
 remplir l'array avec des noms
 a(1)="Ava"
 a(2)="Brielle"
 a(3)="Caroline"
 a(4)="Diana"
 a(5)="Elise"
 a(6)="Fiona"
 a(7)="Grace"
 a(8)="Hannah"
 a(9)="Ileana"
 a(10)="Jane"
 a(11)="Kathryn"
 a(12)="Laura"
 a(13)="Millie"
 a(14)="Nancy"
 a(15)="Opal"
 a(16)="Petty"
 a(17)="Queenie"
 a(18)="Rose"
 a(19)="Shirley"
 a(20)="Tiffany"
 a(21)="Ursula"
 a(22)="Victoria"
 a(23)="Wendy"
 a(24)="Xenia"
 a(25)="Yvette"
 a(26)="Zoe"
 a(27)="Angell"
 a(28)="Adele"
 a(29)="Beatty"
 a(30)="Carlton"
 a(31)="Elisabeth"
 a(32)="Violet"
 Obtenir le paramètre q à partir de l'URL
 q=ucase(request.querystring("q"))
 Voir tous les hint dans l'array, la longueur de q est-elle supérieure à 0
 si len(q)>0 alors
   hint=""
   pour i=1 à 30
     si q=ucase(mid(a(i),1,len(q))) alors
       si hint="" alors
         hint=a(i)
       sinon
         hint=hint & " , " & a(i)
       fin if
     fin if
   next
 fin if
 Si hint n'est pas trouvé, affichez "no suggestion" ou affichez la valeur correcte
 si hint="" alors
   response.write("no suggestion")
 sinon
   response.write(hint)
 fin if
%>