ASP - AJAX et ASP


ASP - AJAX et ASP

AJAX est utilisé pour créer des applications plus interactives.


AJAX ASP Exemple

L'exemple suivant va montrer comment une page Web peuvent communiquer avec un serveur web alors que quelques caractères de type utilisateur dans un champ de saisie:

Exemple

Start typing a name in the input field below:
First name: 
Suggestions:

Essayez vous-même »


Exemple Explication - La page HTML

Quand un utilisateur tape un caractère dans le champ de saisie ci-dessus, la fonction "ShowHint ()" est exécuté. La fonction est déclenchée par l'"onkeyup" événement:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function showHint(str)
{
if (str.length==0)
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for 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>Start typing a name in the input field below:</b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)" size="20" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>
Explication du code source:
Si le domaine d'entrée est vide (str.length == 0), la fonction efface le contenu de l'espace réservé txtHint et sort de la fonction.
Si le champ de saisie n'est pas vide, le ShowHint () exécute ce qui suit:
  • Créer un objet XMLHttpRequest
  • Création de la fonction à exécuter lorsque la réponse du serveur est prêt
  • Envoyer la demande hors d'un fichier sur le serveur
  • Avis qu 'un paramètre (q) est ajouté à l'URL (avec le contenu du champ de saisie)

Le fichier ASP

La page sur le serveur appelé par le code JavaScript ci-dessus est un fichier ASP appelée "gethint.asp".
Le code source dans le "gethint.asp" vérifie un tableau de noms, et retourne le nom correspondant (s) pour le navigateur:
<%
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
%>
Explication: Si il n'y a aucun texte envoyé à partir du JavaScript (strlen ($ q)> 0), ce qui suit se produit:
  1. Trouver un nom correspondant aux caractères envoyés à partir du JavaScript
  2. Si aucune correspondance n'a été trouvée, définir la chaîne de réponse à "aucune suggestion"
  3. Si un ou plusieurs noms correspondants ont été trouvés, définir la chaîne de réponse à tous ces noms
  4. La réponse est envoyée à la "txtHint" espace réservé

0 commentaires:

Post a Comment

HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT