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

چهارشنبه 19 فروردین 1394

در این مقاله نحوه ارسال درخواست به سمت سرور با کمک 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");

        }

    }

 }

 

 

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

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید