عندما يتم إرسال طلب إلى الخادم، نحتاج إلى تنفيذ بعض المهام القائمة على الاستجابة.
عندما تتغير حالة ReadyState، يتم تشغيل الحدث onreadystatechange.
تقوم السمة ReadyState بتخزين معلومات حالة XMLHttpRequest.
فيما يلي ثلاث خصائص مهمة لكائن XMLHttpRequest:
ملكية | يصف |
---|---|
onreadystatechange | يخزن وظيفة (أو اسم وظيفة) سيتم استدعاؤها عندما تتغير خاصية ReadyState. |
ReadyState | حالة XMLHttpRequest موجودة. التغييرات من 0 إلى 4. 0: لم تتم تهيئة الطلب 1: تم إنشاء اتصال الخادم 2: تم استلام الطلب 3: جاري معالجة الطلب 4: تم الانتهاء من الطلب والرد جاهز |
حالة | 200: "موافق" 404: لم يتم العثور على الصفحة |
في حدث onreadystatechange، نحدد المهام التي سيتم تنفيذها عندما تكون استجابة الخادم جاهزة للمعالجة.
عندما تكون قيمة ReadyState تساوي 4 وتكون الحالة 200، يكون الرد جاهزًا:
ملاحظة: يتم تشغيل حدث onreadystatechange 4 مرات (0 - 4)، على التوالي: 0-1، 1-2، 2-3، 3-4، الموافق لكل تغيير في ReadyState.
دالة رد الاتصال هي دالة يتم تمريرها كمعلمة إلى دالة أخرى.
إذا كانت لديك مهام AJAX متعددة على موقعك، فيجب عليك كتابة دالة قياسية لإنشاء كائن XMLHttpRequest واستدعاء تلك الوظيفة لكل مهمة AJAX.
يجب أن يحتوي استدعاء الوظيفة على عنوان URL والمهمة التي سيتم تنفيذها عند وقوع حدث onreadystatechange (والذي قد يكون مختلفًا لكل استدعاء):