The AJAX Server Page—ASP and PHP

There is no such thing as an AJAX server. AJAX pages can be served by any Internet

server. The server page called by the JavaScript in the previous example is a simple ASP file

called gethint.asp. Following are two examples of the server page code, one written in ASP and one

in PHP.

AJAX ASP Example

The code in the gethint.asp page is written in VBScript for an Internet Information

Server (IIS). It checks an array of names and returns the corresponding names to

the client:

<%

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

%>

AJAX PHP Example

The preceding code can be rewritten in PHP

<?php

// Fill up array with names

$a[]="Anna";

$a[]="Brittany";

$a[]="Cinderella";

$a[]="Diana";

$a[]="Eva";

$a[]="Fiona";

$a[]="Gunda";

$a[]="Hege";

$a[]="Inga";

$a[]="Johanna";

$a[]="Kitty";

$a[]="Linda";

$a[]="Nina";

$a[]="Ophelia";

$a[]="Petunia";

$a[]="Amanda";

$a[]="Raquel";

$a[]="Cindy";

$a[]="Doris";

$a[]="Eve";

$a[]="Evita";

$a[]="Sunniva";

$a[]="Tove";

$a[]="Unni";

$a[]="Violet";

$a[]="Liza";

$a[]="Elizabeth";

$a[]="Ellen";

$a[]="Wenche";

$a[]="Vicky";

//get the q parameter from URL

$q=$_GET["q"];

//lookup all hints from array if length of q>0

if (strlen($q) > 0)

 {

 $hint="";

 for($i=0; $i<count($a); $i++)

 {

 if (strtolower($q)==strtolower(substr($a[$i],0,strlen(

$q))))

 {

 if ($hint=="")

 {

 $hint=$a[$i];

 }

 else

 {

 $hint=$hint." , ".$a[$i];

 }

 }

 }

 }

// Set output to "no suggestion" if no hint were found

// or to the correct values

if ($hint == "")

 {

 $response="no suggestion";

 }

else

 {

 $response=$hint;

 }

//output the response

echo $response;

?>

 

The AJAX Server Page

The server page called by the previous JavaScript script is an ASP file called getcustomer.asp.

The ASP page is written in VBScript for an Internet Information Server (IIS). It

could easily be rewritten in PHP or some other server language.

The code runs a query against a database and returns the result in an HTML table:

<%

response.expires=-1

sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="

sql=sql & "'" & request.querystring("q") & "'"

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs=Server.CreateObject("ADODB.recordset")

rs.Open sql,conn

response.write("<table>")

do until rs.EOF

 for each x in rs.Fields

 response.write("<tr><td><b>" & x.name & "</b></td>")

 response.write("<td>" & x.value & "</td></tr>")

 next

 rs.MoveNext

loop

response.write("</table>")

%>