ایجاکس ڈاٹا بیس مثال

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 ਫਾਇਲ

ਉੱਪਰੋਕਤ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੀ ਸਰਵਰ ਪੰਨੇ ਨਾਮ "getcustomer.asp" ਦਾ ਐਸਪ ਫਾਇਲ ਹੈ。

getcustomer.asp ਵਿੱਚ ਦੇ ਸਰੋਤ ਕੋਡ ਇੱਕ ਵਾਰੀ ਡਾਟਾਬੇਸ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਐੱਚ ਟੇਬਲ ਵਿੱਚ ਨਤੀਜੇ ਵਾਪਸ ਦਿੰਦਾ ਹੈ:

<%
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>")
do until rs.EOF
  for each x in rs.Fields
    response.write("<tr><td><b>" & x.name & "</b></td>")
    response.write("" & x.value & "")
  response.write("<td>" & x.value & "</td></tr>")
  نک
rs.MoveNext
لوپ
response.write("</table>")