ارسال درخواست به سمت سرور با استفاده از JavaScript XMLHttp در VB.Net و #C
چهارشنبه 19 فروردین 1394در این مقاله نحوه ارسال درخواست به سمت سرور با کمک JavaScriptXMLHttp را شرح خواهیم داد , همچنین نحوه استفاده از Ajax را نیز با ذکر مثال توضیح می دهیم
به عنوان مثال ما می خواهیم زمان سرور را با کلیک بر روی یک دکمه به کاربر نمایش دهیم , همچنین با ذکر یک مثال ساده میتوانیم درک بهتری از AJAX داشته باشیم و به کاربرد مرسوم این تکنولوژی در دنیای امروزی پی ببریم .
ساخت یک شئی برای ارسال درخواست از نوع XML :
xmlhttp=null; if (window.XMLHttpRequest) { // دستور زیر قابل استفاده برای تمامی مرورگرها میباشد xmlhttp=new XMLHttpRequest(); } else if (window.ActiveXObject) { // دستور زیر نیز برای مرورگر IE ورژن 5 و 6 میباشد xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
آماده سازی و ارسال درخواست :
در هنگام آماده سازی ما باید یک تابع با نام "state-Change" ایجاد کنیم که در صورت تغییر وضعیت شئی XMLHttp فراخوانی شود .
xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET","Default.aspx?GetTime=true",true); xmlhttp.send(null);
دریافت درخواست در سمت سرور :
درخواست در سمت سرور دریافت , پردارش و سپس ارسال می گردد
کد #C :
Response.Cache.SetCacheability(HttpCacheability.NoCache); if (Request.QueryString["GetTime"] == "true") { Response.Clear(); Response.Write(DateTime.Now.ToShortTimeString()); Response.End(); }
کد VB.Net :
Response.Cache.SetCacheability(HttpCacheability.NoCache) If Request.QueryString("GetTime") = "true" Then Response.Clear() Response.Write(DateTime.Now.ToShortTimeString()) Response.End() End If
در کد های مربوط به #C و VB.Net کد زیر مشترک میباشد :
Response.Cache.SetCacheability(HttpCacheability.NoCache)
دستور بالا درخوستی که به سمت سرور برای اولین بار ارسال شده را چک میکند و در Cash مرورگر کاربر ذخیره نشده
باشد .به بیان ساده از Cash شدن در مرورگر کاربر جلوگیری میکند .
دریافت و پاسخ :
به مجض اینکه پاسخ درخواست به سمت مرورگر کاربر ارسال شد تابع "state_Change" فراخوانی می شود .
این تابع پاسخ ارسال شده از سمت سرور را دریافت و آن را نمایش میدهد (که در این مثال زمان سرور را در مرورگر کاربر نمایش می دهد)
function state_Change() { if (xmlhttp.readyState==4) {// 4 = "بارگزاری پاسخ دریافت شده از سمت سرور" if (xmlhttp.status==200) {// 200 = قرار دادن شرط و نمایش پیغام خطا var lblMesg = document.getElementById("<%=lblMsg.ClientID%>"); lblMesg.innerHTML = "Server Time is : " + xmlhttp.responseText; } else { alert("Problem retrieving XML data"); } } }
- ASP.net
- 2k بازدید
- 2 تشکر