AJAX データベース インスタンス

AJAXはデータベースとの対話式通信に使用できます。

AJAX データベース インスタンス

以下の例では、AJAXがデータベースから情報を読み取る方法を示します:ウェブページ

クライアント情報はここに表示されます。

実際に試してみてください

showCustomer()関数の例

ユーザーが上記のドロップダウンリストからクライアントを選択した後、「showCustomer()」関数を実行します。この関数は、 onchange イベントトリガー:

showCustomer

function showCustomer(str) {
  var xhttp; 
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  }
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("txtHint").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "getcustomer.asp?q=" + str, true);
  xhttp.send();
} 

showCustomer()関数は以下のように実行されます:

  • クライアントが選択したかどうかを確認します
  • XMLHttpRequestオブジェクトを作成します
  • サーバー応答が準備でき次第実行される関数を作成します
  • サーバー上のファイルにリクエストを送信します
  • 注意してください、パラメータqがURL(ドロップダウンリストの内容)に追加されます

AJAXサーバーページ

上記のJavaScriptで呼び出されるサーバーページは「getcustomer.asp」と呼ばれるASPファイルです。

PHPや他のサーバー言語を使用して、このサーバーファイルを簡単にリライトできます。

対応するPHPインスタンスを参照してください。

「getcustomer.asp」のソースコードでデータベースに対するクエリを実行し、HTMLテーブルに結果を返します:

<%
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("customers.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>")
 次
 rs.MoveNext
ループ
response.write("</table>")
%>