OnReadyStateChange الحدث
عند إرسال طلب إلى خادم، ونحن نريد لتنفيذ بعض الإجراءات على أساس الاستجابة.
يتم تشغيل OnReadyStateChange الحدث في كل مرة تتغير ReadyState عن.
والخاصية readyState يحمل حالة مدعوم.
ثلاث خصائص مهمة من وجوه مدعوم:
الملكية | وصف |
---|---|
onreadystatechange | مخازن وظيفة (أو اسم وظيفة) ليتم استدعاؤها تلقائيا في كل مرة تتغير الخاصية readyState |
readyState | تتولى وضع مدعوم. التغييرات 0-4: 0: طلب لم يتم تهيئة 1: إنشاء اتصال الخادم 2: طلب وارد 3: طلب تجهيز 4: طلب الانتهاء والاستجابة جاهز |
status | 200: "موافق" 404 الصفحة غير موجودة |
في OnReadyStateChange الحدث، فإننا تحديد ما سيحدث عندما استجابة الملقم مستعدة لتتم معالجتها.
عندما ReadyState عن غير 4 والوضع هو 200، واستجابة جاهزة:
مثال
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
انها محاولة لنفسك » ملاحظة: يتم تشغيل OnReadyStateChange الحدث خمس مرات (0-4)، مرة واحدة لكل تغيير في ReadyState عن.
باستخدام وظيفة الاستدعاء
وظيفة الاستدعاء هي وظيفة تمريرها كمعلمة إلى وظيفة أخرى.
إذا كان لديك مهمة أجاكس احد أو أكثر على موقع الويب الخاص بك، يجب إنشاء وظيفة واحدة موحدة لإنشاء كائن مدعوم، ونسمي هذا لكل مهمة أجاكس.
وينبغي أن يتضمن استدعاء دالة عنوان URL وماذا تفعل على onreadystatechange (الذي يختلف ربما عن كل مكالمة):
مثال
function loadDoc(cFunc) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
cFunc(xhttp);
}
انها محاولة لنفسك »