AJAX može da se upotrebi za interaktivnu komunikaciju sa bazom podataka.
Primer AJAX baze podataka
U ovom AJAX primeru mi ćemo demonstrirati kako web stranica može da dobija informacije iz baze podataka koristeći AJAX tehnologiju.
Korisnici će da vide sledeće:
Objašnjenje primera
Gornji primer sadrži jednostavnu HTML formu i link ka JavaScript-u:
<html>
<head>
<script src="selectcustomer.js"></script>
</head>
<body>
<form>
Select a Customer:
<select name="customers" onchange="showCustomer(this.value)">
<option value="ALFKI">Alfreds Futterkiste
<option value="NORTS ">North/South
<option value="WOLZA">Wolski Zajazd
</select>
</form>
<p>
<div id="txtHint"><b>Customer info will be listed here.</b></div>
</p>
</body>
</html>
Kao što možete da vidite ovo je samo jednostavna HTML forma sa padajućim menijem koji se zove "customers". Pasus ispod forme sadrži div koji se zove "txtHint". div će da služi kao okvir za sdržanje informacija koje su dobijene od servera.
Kada korisnika izabere podatak, funkcija koja se zove "showCustomer()" se izvršava. Izvršavanje funkcije pokreće "onchange" događaj. Drugim rečima: Svaki put kada korisnika promeni vrednost u padajućem meniju, poziva se funkcija showCustomer.
JavaScript kod je prikazan dole.
AJAX JavaScript
Ovo je JavaScript kod skladišten u fajlu "selectcustomer.js":
var xmlHttp
function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="getcustomer.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
AJAX serverska stranica
Stranica servera koju poziva JavaScript, je jednostavni ASP fajl koji se zove "getcustomer.asp".
Stranica je napisana u VBScript-u za Internet Information Server (IIS). Ona lako može da se prepiše u PHP, ili neki drugi serverski jezik.
Kod pokreće SQL bazu podataka i vraća rezultat kao HTML tabelu:
<%
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("/db/northwind.mdb"))
set rs = Server.CreateObject("ADODB.recordset")
rs.Open sql, conn
response.write("
" & x.name & " | ")" & x.value & " |
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||