آموزش آجاکس دیتابیس
از آجاکس می توان برای ارتباط تعاملی با یک دیتابیس استفاده نمود.
مثالی از آجاکس و دیتابیس
مثال زیر نشان می دهد که چطور یک صفحه ی وب می تواند اطلاعات را از یک دیتابیس به وسیله ی آجاکس دریافت کند:
توضیح مثال بالا، تابع ()The showCustomer
هنگامی که یک کاربر از لیست کشویی بالا، یک مشتری را انتخاب می کند، یک تابع به نام ()showCustomer اجرا می شود. این تابع به وسیله ی رویداد onchange راه انداری می شود:
تابع showCustomer
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 اضافه شده است( به همراه محتوای لیست کشویی)
صفحه ی سرور آجاکس
صفحه ای که در سرور قرار دارد و در بالا، به وسیله ی جاوااسکریپت فراخوانی شده است درواقع یک فایل ASP به نام getcustomer.asp است.
فایل سمت سرور می تواند به سادگی در PHP یا دیگر زبان های سمت سرور، بازنویسی شود. برای این کار مقاله ی زیر را ببینید:
Look at a corresponding example in 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>")
%>
- نوشته شده توسط احسان عباسی
- بازدید: 5013