AJAX ASP/PHP 請求實例

AJAX ASP/PHP 請求實例

·Previous Page

·Next Page

AJAX 用於創造動態性更強的應用程序。

AJAX ASP/PHP 實例

下面的例子將爲您演示當用戶在輸入框中鍵入字符時,網頁如何與 web 服務器進行通信:

請在下面的輸入框中鍵入字母(A - Z):

窗體頂端

姓氏:

窗體底端

建議:

親自試一下源代碼

實例解釋 - showHint() 函數

當用戶在上面的輸入框中鍵入字符時,會執行函數 "showHint()" 。該函數由 "onkeyup" 事件觸發:

function showHint(str)

{

var xmlhttp;

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();

}

源代碼解釋:

如果輸入框爲空 (str.length==0),則該函數清空 txtHint 佔位符的內容,並退出函數。

如果輸入框不爲空,showHint() 函數執行以下任務:

·創建 XMLHttpRequest 對象

·當服務器響應就緒時執行函數

·把請求發送到服務器上的文件

·請注意我們向 URL 添加了一個參數 q (帶有輸入框的內容)

AJAX 服務器頁面 - ASP  PHP

由上面的 JavaScript 調用的服務器頁面是 ASP 文件,名爲 "gethint.asp"

下面,我們創建了兩個版本的服務器文件,一個用 ASP 編寫,另一個用 PHP 編寫。

ASP 文件

"gethint.asp" 中的源代碼會檢查一個名字數組,然後向瀏覽器返回相應的名字:

<%

response.expires=-1

dim a(30)

'用名字來填充數組

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"

 

'獲得來自 URL  q 參數

q=ucase(request.querystring("q"))

 

'如果 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

 

'如果未找到提示,則輸出 "no suggestion"

'否則輸出正確的值

if hint="" then

response.write("no suggestion")

else

response.write(hint)

end if

%>

PHP 文件

下面的代碼用 PHP 編寫,與上面的 ASP 代碼作用是一樣的。

註釋:如需在 PHP 中運行這個例子,請將 url 變量的值(Javascript 代碼中)由 "gethint.asp" 改爲 "gethint.php"

<?php

// 用名字來填充數組

$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";

 

//獲得來自 URL  q 參數

$q=$_GET["q"];

 

//如果 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];

}

}

}

}

 

// 如果未找到提示,則把輸出設置爲 "no suggestion"

// 否則設置爲正確的值

if ($hint == "")

{

$response="no suggestion";

}

else

{

$response=$hint;

}

 

//輸出響應

echo $response;

?>

來自:http://www.w3school.com.cn

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章