آموزش Ajax /خاصیت readyState خاصیت readyState در شی XMLHttpRequest : هنگامی که درخواست خود را به سرور ارسال می کنید بنا بر جواب آن می خواهید تصمیمات خاصی را لحاظ نمایید . رویداد( ) onreadystatechange هر زمان که وضعیت Ready State تغییر کند ، رخ می دهد . خاصیت Ready State وضعیت شی XMLHttpRequest را در هر لحظه نگهداری می کند . بطور کلی 3 خاصیت یا رویداد در هنگام کار با XMLHttpRequest وجود دارد که بوسیله آن می توان جواب را از سرور دریافت کرده و بر اساس آن عمل نمود : [*=right]onreadystatechange : این خاصیت یک تابع را نگهداری می کند . هر زمان که وضعیت خاصیت Ready State شی XMLHttpRequest تغییر کند این رویداد رخ می دهد و تابع را اجرا می کند . [*=right]readyState : این خاصیت وضعیت شی XMLHttpRequest را در هر لحظه مشخص می کند . این شی می توان 4 حالت را داشته باشد که بنابر آن یکی از اعداد 0 تا 4 را برمی گرداند : 0 : درخواست دریافت نشده یا جوابی برای آن جدا نشده است . 1 : اعتبار با سرور برقرار شد . 2 : درخواست به سرور رسیده و دریافت شده است . 3 : سرور در حال پردازش درخواست شما است . 4 : درخواست بطور کامل انجام شده و پاسخ آماده است . [*=right]status : این پارامتر وضعیت کلی درخواست و شی را مشخص می کند . که می تواند 2 حالت داشته باشد : 200 : OK یعنی وضعیت درست است . 404 : Page not found یعنی صفحه یا فایل مورد نظر پیدا نشده است . نکته : در رویداد onreadystatechange تابعی را تعیین می کنیم تا در صورتی که جواب سرور به درخواست ما آماده و ارسال شد عمل مورد نظرمان را انجام دهد . این عمل مورد نظر معمولا عملیات به روز رسانی بخش تغییر کرده در صفحه را انجام می دهد . مثال عملی : در مثال زیر ، در یک دستور شرطی بررسی کرده ایم که اگر جواب سرور یعنی پارامتر readyState دارای مقدار 4 که به معنای اتمام پردازش درخواست و آماده بودن جواب است ، بود . سپس وضعیت شی نیز بررسی شود تا چنانچه مقدارش 200 به معتی ok عملیات است ، سپس دستور به روز رسانی در صفحه اجرا شود : [TABLE="class: ex"] [TR] [TD="class: prname"] مثال [/TD] [TD="class: prdes, align: left"] xmlhttp.onreadystatechange=function( ) { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } [/TD] [/TR] [/TABLE] منبع: developer1