AJAX 数据库实例
AJAX کو دیتابیس کے ساتھ کھلدری مشق کی جاسکتی ہے。
AJAX 数据库实例
یہ مثال درست کرتا ہے کہ وہ کس طرح AJAX کے ذریعے دیتابیس سے معلومات حاصل کی جاتی ہیں:
مثال توضیحی - HTML صفحہ
جب استعمال کار برائے بالا درجہ مندرجہ مشتری منتخب کرتا ہے تو اس سلسلے میں 'showCustomer()' کا فنکشن کا استعمال کیا جائے گا۔ یہ فنکشن 'onchange' واقعی کے ذریعے ترگیب دی جاتی ہے:
<!DOCTYPE html> <html> <head> <script> function showCustomer(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) // برائے آئی ای 7+, فائر فاکس, کروم, آپری، سافری کا کوڈ xmlhttp=new XMLHttpRequest(); } else // برائے آئی ای اے 6, آئی ای 5 کا کوڈ 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
صفحه سرور JavaScript که درخواست شده است یک فایل 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("" & x.value & " ") next rs.MoveNext loop response.write("") %>