En son web geliştirme öğreticiler
 

AJAX Veritabanı Örneği


AJAX bir veritabanı ile etkileşimli iletişim için kullanılabilir.


AJAX Veritabanı Örneği

Aşağıdaki örnek bir web sayfası AJAX ile bir veritabanından bilgileri alabilmesi nasıl gösterecektir:

Örnek


Customer info will be listed here...

Kendin dene "


Örnek Açıklaması - showCustomer() Fonksiyonu

Bir kullanıcı yukarıdaki açılır listede bir müşteri olarak adlandırılan bir işlev seçtiğinde " showCustomer() " yürütülür. Fonksiyon tarafından tetiklenir "onchange" olayı:

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() fonksiyonu aşağıdaki yapar:

  • Bir müşteri seçilmiş olup olmadığını kontrol edin
  • Bir oluşturma XMLHttpRequest nesnesi
  • sunucu yanıtı hazır olduğunda yürütülecek işlevi oluşturma
  • sunucuda bir dosyaya istek dışı gönder
  • Bir parametre dikkat edin (q) (açılan listesinin içeriği) URL ilave edilir

AJAX Server Page

JavaScript tarafından çağrılan sunucu üzerinde sayfa adında bir ASP dosyasıdır "getcustomer.asp" .

Sunucu dosyası kolayca PHP veya başka bir sunucu dillerinde yeniden yazılabilir.

PHP'de bir örnek için tıklayın .

Kaynak kodu "getcustomer.asp" bir veritabanı sorgusu çalıştırır ve bir HTML tablosu olarak döner:

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