ایس پی - ایجاکس سے ایس پی

AJAX استعمال کئے جانے والے پزیر کی دینا آج دیکھتا ہے، جو پزیر کی دینا کئی پزیر کی دینا سے زیادہ پزیر ہو سکتی ہے۔

AJAX ASP مثال

نیچل مثال میں آپ کو دکھایا جائے گا کہ جب کے آپ آئی این پورٹ میں حروف لکھتے ہیں تو، ویب پیج کس طرح سے سرور سے مواصلات کرتا ہے:

مثال

آپ کریئن لطفاً نیچل آئی این پورٹ میں حروف لکھئیئن (A - Z):

نام:

کم سے کم سیدھار:

سورس کو خود سے چک کریئن!

مثال تفسیر - HTML پیج

جب کے آپ اپنے اوپر والے آئی این پورٹ میں حروف لکھتے ہیں تو، 'showHint()' فنکشن چل جائے گا۔ یہ فنکشن 'onkeyup' ایونٹ سے چل جائے گا:

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
if (str.length==0)
  {
  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","gethint.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>
<p><b>ਪ੍ਰਾਪਤੀਆਂ: <input type="text" onkeyup="showHint(this.value)" size="20"></b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)" size="20">
</form>
<p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>

توضیح کد منبع:

ਜੇਕਰ ਇਨਪੁਟ ਬਕਸਾ ਖਾਲੀ ਹੈ (str.length==0) ਤਾਂ ਫੰਕਸ਼ਨ ਇਹ ਹੈ ਕਿ ਉਹ ਫੰਕਸ਼ਨ ਛੱਡੇਗਾ

ਜੇਕਰ ਇਨਪੁਟ ਬਕਸਾ ਖਾਲੀ ਨਹੀਂ ਹੈ ਤਾਂ showHint() ਨੂੰ ਹੇਠ ਲਿਖੇ ਕਦਮਾਂ ਨੂੰ ਚਲਾਵੇਗਾ:

  • XMLHttpRequest ਆਬਜੈਕਟ ਬਣਾਓ
  • ਸਰਵਰ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ ਹੋਣ ਤੋਂ ਬਾਅਦ ਚਲਾਉਣ ਵਾਲੀ ਫੰਕਸ਼ਨ ਬਣਾਓ
  • ਸਰਵਰ 'ਤੇ ਫਾਈਲ ਨੂੰ ਕਿਸੇ ਪੈਰਾਮੀਟਰ (q) ਨੂੰ ਸਮੇਟੇ ਹੋਣ ਦਾ ਧਿਆਨ ਰੱਖੋ (ਇਹ ਇਨਪੁਟ ਬਕਸੇ ਦਾ ਸਮਾਂਤਰ ਹੈ)
  • ਸਰਵਰ 'ਤੇ ਫਾਈਲ ਨੂੰ ਕਿਸੇ ਪੈਰਾਮੀਟਰ (q) ਨੂੰ ਸਮੇਟੇ ਹੋਣ ਦਾ ਧਿਆਨ ਰੱਖੋ (ਇਹ ਇਨਪੁਟ ਬਕਸੇ ਦਾ ਸਮਾਂਤਰ ਹੈ)

ASP ਫਾਈਲ

ਇਹ JavaScript ਕਾਲਣ ਸਰਵਰ ਪੰਨਾ "gethint.asp" ਨਾਮ ਦਾ ASP ਫਾਈਲ ਹੈ。

"gethint.asp" کد منبع بررسی می‌کند که آیا آرایه‌های نام وجود دارند و سپس نام‌های مربوطه را به مرورگر برمی‌گرداند:

<%
response.expires=-1
dim a(30)
'آرایه‌ها را با نام‌ها پر کنید
a(1)="Anna"
a(2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona"
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a(11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20)="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29)="Wenche"
a(30)="Vicky"
'از URL پارامتر q را دریافت می‌کند
q=ucase(request.querystring("q"))
'اگر طول q>0 باشد، همه پیشنهادات موجود را از آرایه جستجو می‌کند
اگر len(q)>0 باشد،
  hint=""
  برای i=1 تا 30
    اگر q=ucase(mid(a(i),1,len(q))) باشد،
      اگر hint="" باشد،
        hint=a(i)
      else
        hint=hint & " , " & a(i)
      end if
    end if
  next
end if
'اگر هیچ پیشنهادی پیدا نشد، "no suggestion" را نمایش دهید
'یا مقادیر صحیح را نمایش دهید
اگر hint="" باشد،
  response.write("no suggestion")
else
  response.write(hint)
end if
%>

توضیح کد منبع:

اگر جاوااسکریپت کسی بجای متن ارسال کرد (یعنی strlen($q) بزرگتر از 0 باشد)، این اتفاق می‌افتد:

  • جاوا اسکریپت کا چارچر پائیج سے نام تلاش کریں
  • اگر کوئی نام نہ پائا تو جواب کو 'no suggestion' بنایا جائے
  • اگر ایک یا کثیر نام پائے تو جواب کو تمام ناموں کا جواب بنایا جائے
  • جواب کو پلاسنگ 'txtHint' کو بھیجنا