ایس پی - ایجاکس اور ایس پی

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)
  {// برائے 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","gethint.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>
<p><b>لطفاً پتھی میں انگلش حروف داخل کریں:</b></p>
<form>
پہلا نام: <input type="text" onkeyup="showHint(this.value)" size="20">
</form>
<p>نصائح: <span id="txtHint"></span></p>
</body>
</html>

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

اگر پتھی خالی ہے (str.length==0)، تو اس فانکشن نے占پائی txtHint کا محتوا خالی کر دیا اور اس فانکشن سے باہر نکل دیا

اگر پتھی خالی نہیں ہے تو showHint() مندرجہ بالا قدموں کو چلائے گا:

  • XMLHttpRequest آئیٹم بنانا
  • سرور کی جواب ملنے کے بعد چلنے والی فانکشن بنانا
  • سرور پر فائل کو درخواست دینا
  • URL کی آخری وجہ میں اضافہ کئے گئے پارامتر کو دیکھیں (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"
'پارامتر q را از URL دریافت می‌کند
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" کو بھیجئے