مثالهای پایگاه داده AJAX
- صفحه قبلی AJAX ASP
- صفحه بعدی مرجع سریع ASP
AJAX میتواند برای ارتباط متقابل با دیتابیس استفاده شود.
مثالهای پایگاه داده AJAX
در این مثال، نحوه خواندن اطلاعات از دیتابیس توسط AJAX در صفحه وب نشان داده شده است:
توضیح مثال - صفحه HTML
وقتی کاربر یکی از مشتریان را در لیست پایین انتخاب کند، عملکرد "showCustomer()" اجرا میشود. این عملکرد توسط رویداد "onchange" فعال میشود:
<!DOCTYPE html> <html> <head> <script> function showCustomer(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) // برای IE7+, Firefox, Chrome, Opera, Safari کد نوشته شده است xmlhttp=new XMLHttpRequest(); } else // برای IE6, IE5 کد نوشته شده است xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getcustomer.asp?q="+str,true); xmlhttp.send(); } </script> </head <body> <form> <select name="customers" onchange="showCustomer(this.value)"> <option value="">انتخاب یک مشتری:</option> <option value="ALFKI">Alfreds Futterkiste</option> <option value="NORTS ">North/South</option> <option value="WOLZA">Wolski Zajazd</option> </select> </form> <br> <div id="txtHint">اطلاعات مشتری در اینجا لیست میشود...</div> </body> </html>
توضیح کد منبع:
اگر مشتری انتخاب نشده باشد (str.length برابر با 0 است)، این تابع پس از خالی کردن جایگذار txtHint، از تابع خارج میشود.
اگر یک مشتری انتخاب شده باشد، تابع showCustomer() مراحل زیر را اجرا میکند:
- ایجاد یک شیء XMLHttpRequest
- ایجاد یک تابعی که در هنگام آماده شدن پاسخ سرور اجرا میشود
- درخواست به فایل روی سرور ارسال میشود
- لطفاً توجه داشته باشید که پارامترهای اضافه شده به پایان URL (q) شامل محتوای لیست کشویی است
فایل ASP
صفحهای که این جاوااسکریپت به آن فراخوانی میکند، یک فایل ASP به نام "getcustomer.asp" است.
کد منبع در "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("/db/northwind.mdb")) set rs=Server.CreateObject("ADODB.recordset") rs.Open sql,conn response.write("<table>") تا rs.EOF برای هر x در 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>") %>
- صفحه قبلی AJAX ASP
- صفحه بعدی مرجع سریع ASP