حدث onreadystatechange




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

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

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

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





















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

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

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

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

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

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

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;
}
});
}


ليست هناك تعليقات:

إرسال تعليق