Ajax ASP/PHP


AJAX ASP/PHP の例

ここに画像の説明を挿入

AJAX は、より動的なアプリケーションを作成するために使用されます。

AJAX ASP/PHP の例

次の例は、ユーザーが入力ボックスに文字を入力したときに Web ページが Web サーバーと通信する方法を示しています。下の入力ボックスに文字 (A ~ Z) を入力してください。

コード部分

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function showHint(str)
{
      
      
  var xmlhttp;
  if (str.length==0)
  {
      
       
    document.getElementById("txtHint").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest)
  {
      
      
    // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp=new XMLHttpRequest();
  }
  else
  {
      
      
    // 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","/try/ajax/gethint.php?q="+str,true);
  xmlhttp.send();
}
</script>
</head>
<body>
<h3>在输入框中尝试输入字母 a:</h3>
<form action="">
输入姓名: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>提示信息: <span id="txtHint"></span></p>
</body>
</html>

実行結果
ここに画像の説明を挿入

インスタンス分析 showHint() 関数

ユーザーが上の入力ボックスに文字を入力すると、関数「showHint()」が実行されます。この関数は、「onkeyup」イベントによってトリガーされます。

function showHint(str)
{
  var xmlhttp;
  if (str.length==0)
  {
    document.getElementById("txtHint").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest)
  {
    // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp=new XMLHttpRequest();
  }
  else
  {
    // 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","/try/ajax/gethint.php?q="+str,true);
  xmlhttp.send();
}

ソースコード分析:

入力ボックスが空の場合 (str.length==0)、関数は txtHint プレースホルダーの内容をクリアし、関数を終了します。

入力ボックスが空でない場合、showHint() 関数は次のタスクを実行します。

  • XMLHttpRequest オブジェクトを作成する
  • サーバーの応答が準備できたら関数を実行する
  • サーバー上のファイルにリクエストを送信します
  • パラメータ q を URL に追加したことに注意してください (入力ボックスの内容を含む)

AJAX サーバー ページ ASP および PHP

上記の JavaScript によって呼び出されるサーバー ページは、「gethint.asp」という名前の ASP ファイルです。

以下では、2 つのバージョンのサーバー ファイルを作成します。1 つは ASP で作成され、もう 1 つは PHP で作成されます。

aspファイル

「gethint.asp」のソース コードは、名前の配列をチェックし、対応する名前をブラウザーに返します。

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

おすすめ

転載: blog.csdn.net/m0_62617719/article/details/130373219
おすすめ