حدث onreadystatechange

عند ارسال طلب الى السيرفر عندها نريد أن ننجز بعض الأفعال المرتكزة على هذه الاستجابة .

يتم حدوث onreadystatechange في كل مرة يتم تغيير الحالة readyState .

تحمل خاصية readyState حالة XMLHttpRequest .

يوجد 3 خصائص مهمة للكائن XMLHttpRequest

الخاصية الشرح
onreadystatechange تخزن الكود الوظيفي أو اسم الوظيفة وذلك ليتم استدعائه تلقائياً في كل مرة تتغير فيها خاصية
readyState تحمل حالة XMLHttpRequest , و تتغير من 0 وحتى 4 :

0 : لم يتم بدء الطلب .

1: تم بدء الاتصال بالسيرفر .

2: تم تلقي الطلب .

3: عملية الطلب .

4: تم انتهاء الطلب و أصبحت الاستجابة جاهزة .

status 200: تمام

404: لم يتم إيجاد الصفحة

نقوم بتحديد ماسيحدث عندما تكون استجابة السيرفر جاهزة للعملية في حدث onreadystatechange .

عندما تصبح readyState رقم 4 و الحالة هي 200 ستكون الاستجابة جاهزة :

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

استخدام الكود الوظيفي عند العودة

و هو كود وظيفي يعتمد على القيمة التي بداخله والتي تحمل كود وظيفي آخر .

ان كان لديك أكثر من مهمة على AJAX على موقعك عندها يجب إنشاء كود وظيفي أساسي واحد لإنشاء الكائن XMLHttpRequest و استدعائه لكل مهمة .

يجب أن يحتوي الكود الوظيفي على رابط و ماسيفعله مع onreadystatechange حيث سيكون مختلف في كل سيتم استدعاء الكود .

مثال

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}