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>")
 next
 rs.MoveNext
loop
response.write("</table>")
%>