همان طور که گفتیم، ارسال و اخذ داده ها در اینترنت، در شرایط معمولی با لود دوباره کاغذ انجام می گردد کهاین موضوع مخصوصا در مواقعی که میخواهیم یک عملیات جزئی در ورقه داشته باشیم چندان منطقی و باب طبع استفاده کننده وجود ندارد، برای حل این خلل با اضافه کردن یک سری خط کد ای جکس ذیل میتوانیم سوای رفرش ورقه داده ها را به سرور منتقل کرده و مجددا جواب را اخذ کنیم (در اینجا میخواهیم بعد از اینکه استفاده کننده اسم خویش را در فیلد اولیه وارد کرد در فیلد دوم عصر را نشان دهیم):
کد بالا برای ارسال درخواست بر بستر ای جکس بدون نقص وجود ندارد و پس از اضافه کردن کدهایی که به دنبال خواهیم روءیت کرد درخواست به سرور در دور نما ارسال میگردد، در بازنگری کد، XMLHttpRequest یک Object میباشد که در جاوا اسکریپت با امر new فراخوانی و به متغیر نسبت داده میشود، برای فهم ظریف مضمون آبجکت می بایست با برنامه نویسی شی گرا آشنا باشیم البته موقتی در همین حد بدانیم که XMLHttpRequest در واقع ساز و کاری را مهیا می نماید که بتوانیم درخواست هایی در بستر ای جکس ارسال و فیض را اخذ کنیم، این ساز و فعالیت را در برنامه نویسی اصطلاحا API (مخفف Application Programming Interface) می نامند، XMLHttpRequest در مرورگر وب اکسپلورر در ورژن های کهن به نحو متفاوتی فعالیت مینماید و در حالتی که بخواهیم چنین مرورگرهایی را نیز پشتبانی کنیم نیاز به کدهای بیش تر و به کار گیری از ActiveXObject داریم، به همین استدلال در مثال کد بالا پیکربندی سازگار با کلیه مرورگرها آورده گردیده تا از این حیث با ایراد مواجه نشویم، البته برای ارسال درخواست و اخذ فیض در دور نما به امرها بیشتری نیاز میباشد که درپی خواهیم مشاهده کرد:
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
document.myform.time.value = xmlHttp.responseText;
}
}
xmlHttp.open(\"GET\", \"server-time.php\", true);
xmlHttp.send(null);
در آنالیز تکه کد بالا onreadystatechange در ای جکس متدی از آبجکت XMLHttpRequest میباشد که بعداز ارسال یک درخواست، مقدار عددی متد readyState را بازبینی میکند تا ببیند که اتفاق افتاد جدیدی فیس داده یا این که نه، در بیان معمولی هر اتفاقی که در پروسه ارسال یک درخواست بر بستر ای جکس می افتد با یک مقدار عددی (از 0 تا 4) مشخص و معلوم میگردد، این مقدار عددی را متد readyState در خویش نگه میدارد و متد onreadystatechange در واقع هنگامی برقرار و به اصطلاح true میباشد که مقدار readyState از شرایط پیش فرض به یکی تغییرو تحول نماید (متدهایی مانند onreadystatechange را که با اتفاق افتاد راز و عمل داراهستند، در اصطلاحات برنامه نویسی EventHandler میگویند)، شرح با جزییات بیشتر متد readyState بهدنبال خواهد آمد.
readyState یا این که شرایط مهیا چه میباشد؟
درباره این سایت