AJAX ASP/PHP

2021-10-13 18:23 更新

AJAX ASP/PHP 實例


 AJAX 用于創(chuàng)造動態(tài)性更強的應(yīng)用程序。

 ASP:即Active Server Pages,是MicroSoft公司開發(fā)的服務(wù)器端腳本環(huán)境,可用來創(chuàng)建動態(tài)交互式網(wǎng)頁并建立強大的web應(yīng)用程序。

 PHP:即Hypertext Preprocessor,超文本預(yù)處理器,是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。

 本節(jié)將為你介紹與AJAX相關(guān)的幾個ASP/PHP實例。


AJAX ASP/PHP 實例


 下面的例子將為您演示當用戶在輸入框中鍵入字符時,網(wǎng)頁如何與 web 服務(wù)器進行通信: 請在下面的輸入框中鍵入字母(A - Z):

實例

Start typing a name in the input field below:

First name:

Suggestions:


嘗試一下 ?

實例解析 - showHint() 函數(shù)


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

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.html?q="+str,true);        
xmlhttp.send();        
}

 源代碼解析:

 如果輸入框為空 (str.length==0),則該函數(shù)清空txtHint占位符的內(nèi)容,并退出函數(shù)。

 如果輸入框不為空,showHint()函數(shù)執(zhí)行以下任務(wù):

  • 創(chuàng)建 XMLHttpRequest 對象
  • 當服務(wù)器響應(yīng)就緒時執(zhí)行函數(shù)
  • 把請求發(fā)送到服務(wù)器上的文件
  • 請注意我們向 URL 添加了一個參數(shù)q(帶有輸入框的內(nèi)容)

AJAX 服務(wù)器頁面 - ASP 和 PHP


 由上面的 JavaScript 調(diào)用的服務(wù)器頁面是 ASP 文件,名為 "gethint.asp"。

 下面,我們創(chuàng)建了兩個版本的服務(wù)器文件,一個用 ASP 編寫,另一個用 PHP 編寫。


ASP 文件


 "gethint.asp" 中的源代碼會檢查一個名字數(shù)組,然后向瀏覽器返回相應(yīng)的名字:

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

PHP 文件


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

<?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;        
?>

 在下一節(jié)內(nèi)容中,我們將介紹 AJAX 數(shù)據(jù)庫!


相關(guān)教程


 經(jīng)典ASP教程

 PHP教程

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號