ارسال درخواست به سمت سرور با استفاده از JavaScript XMLHttp در VB.Net و #C

در این مقاله نحوه ارسال درخواست به سمت سرور با کمک JavaScriptXMLHttp را شرح خواهیم داد , همچنین نحوه استفاده از Ajax را نیز با ذکر مثال توضیح می دهیم

ارسال درخواست به سمت سرور با استفاده از  JavaScript XMLHttp در VB.Net و #C

به عنوان مثال ما می خواهیم زمان سرور را با کلیک بر روی یک دکمه به کاربر نمایش دهیم , همچنین با ذکر یک مثال ساده میتوانیم درک بهتری از 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");

        }

    }

 }

 

 

فایل های ضمیمه