Последние учебники веб-разработки
 

AJAX Пример базы данных


AJAX может быть использован для интерактивного общения с базой данных.


AJAX Пример базы данных

В следующем примере будет показано, как веб-страница может извлечь информацию из базы данных с помощью AJAX:

пример


Customer info will be listed here...

Попробуй сам "


Пример Разъяснения - The showCustomer() Функция

Когда пользователь выбирает клиента в выпадающем списке выше, функция называется "showCustomer()" выполняется. Функция срабатывает по "onchange" событие:

showCustomer

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

showCustomer() Функция выполняет следующие действия :

  • Проверьте, если выбран клиент
  • Создание XMLHttpRequest объект
  • Создайте функцию, которая будет выполнена, когда ответ сервер готов
  • Отправить запрос прочь к файлу на сервере
  • Обратите внимание на то, что параметр (q) добавляется к URL (с содержанием списка)

AJAX Server Page

Страницу на сервере , созванного JavaScript выше является файлом ASP называется "getcustomer.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("/ datafolder /northwind.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>")
%>