Curriculum
Course: JavaScript Basic
Login

Curriculum

JavaScript Basic

JSHome

0/216
Text lesson

AJAX ASP

AJAX is used to develop more dynamic and interactive applications.

AJAX ASP Example

The following example demonstrates how a web page can interact with a web server as the user types characters into an input field.

Example

Start typing a name in the input field below:

Suggestions:

First name: 

Example Explained

In the example above, when the user types a character in the input field, the showHint() function is called.

The function is triggered by the onkeyup event.

Here’s the code:

Example

<p>Start typing a name in the input field below:</p>
<p>Suggestions: <span id=”txtHint”></span></p>

<form>
First name: <input type=”text” onkeyup=”showHint(this.value)”>
</form>

<script>
function showHint(str) {
  if (str.length == 0) {
    document.getElementById(“txtHint”).innerHTML = “”;
    return;
  } else {
    const xmlhttp = new XMLHttpRequest();
    xmlhttp.onload = function() {
      document.getElementById(“txtHint”).innerHTML = this.responseText;
    }
  xmlhttp.open(“GET”“gethint.asp?q=” + str);
  xmlhttp.send();
  }
}
</script>

Code explanation:

First, check if the input field is empty (str.length == 0). If it is, clear the content of the txtHint placeholder and exit the function.

If the input field is not empty, follow these steps:

  1. Create an XMLHttpRequest object.
  2. Define the function to execute when the server’s response is ready.
  3. Send the request to an ASP file (gethint.asp) on the server.
  4. Note that the q parameter is added as gethint.asp?q="+str, where the str variable contains the content of the input field.

The ASP File – “gethint.asp”

The ASP file checks an array of names and returns the matching name(s) to the browser.

<%
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
%>