آموزش Ajax   >   کار با شی XmlHttpRequest   >   بررسی وضعیت شی XMLHttpRequest با خاصیت readyState

خاصیت readyState در شی XMLHttpRequest :

هنگامی که درخواست خود را به سرور ارسال می کنید بنا بر جواب آن می خواهید تصمیمات خاصی را لحاظ نمایید .

رویداد( ) onreadystatechange هر زمان که وضعیت Ready State تغییر کند ، رخ می دهد . خاصیت Ready State وضعیت شی XMLHttpRequest را در هر لحظه نگهداری می کند . بطور کلی 3 خاصیت یا رویداد در هنگام کار با XMLHttpRequest وجود دارد که بوسیله آن می توان جواب را از سرور دریافت کرده و بر اساس آن عمل نمود :

  1. onreadystatechange : این خاصیت یک تابع را نگهداری می کند . هر زمان که وضعیت خاصیت Ready State شی XMLHttpRequest تغییر کند این رویداد رخ می دهد و تابع را اجرا می کند .
  2. readyState : این خاصیت وضعیت شی XMLHttpRequest را در هر لحظه مشخص می کند . این شی می توان 4 حالت را داشته باشد که بنابر آن یکی از اعداد 0 تا  4  را برمی گرداند :
    0 : درخواست دریافت نشده یا جوابی برای آن جدا نشده است .
    1 : اعتبار با سرور برقرار شد .
    2 : درخواست به سرور رسیده و دریافت شده است .
    3 : سرور در حال پردازش درخواست شما است .
    4 : درخواست بطور کامل انجام شده و پاسخ آماده است .
  3. status : این پارامتر وضعیت کلی درخواست و شی را مشخص می کند . که می تواند 2 حالت داشته باشد :
    1. 200 : OK
      یعنی وضعیت درست است .
    2. 404 : Page not found
      یعنی صفحه یا فایل مورد نظر پیدا نشده است .

نکته : در رویداد onreadystatechange تابعی را تعیین می کنیم تا در صورتی که جواب سرور به درخواست ما آماده و ارسال شد عمل مورد نظرمان را انجام دهد . این عمل مورد نظر معمولا عملیات به روز رسانی بخش تغییر کرده در صفحه را انجام می دهد .

مثال عملی :

در مثال زیر ، در یک دستور شرطی بررسی کرده ایم که اگر جواب سرور یعنی پارامتر readyState دارای مقدار 4 که به معنای اتمام پردازش درخواست و آماده بودن جواب است ، بود . سپس وضعیت شی نیز بررسی شود تا چنانچه مقدارش 200 به معتی ok عملیات است ، سپس دستور به روز رسانی در صفحه اجرا شود :

مثال xmlhttp.onreadystatechange=function( )
   {
       if (xmlhttp.readyState==4 && xmlhttp.status==200)
          {
                document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
          }
    }


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان بگذارید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :        
سوال امنیتی : پایتخت ایران ؟