Το γεγονός onreadystatechange περιέχει μια function – η οποία περιέχει είτε τον κώδικα της function, είτε το όνομα μιας function η οποία ορίζεται σε κάποιο άλλο σημείο – και ενεργοποιείται (triggered) κάθε φορά που η τιμή readyState αλλάζει. Η ιδιότητα readyState καταχωρεί την κατάσταση του αντικειμένου XMLHttpRequest και παίρνει τιμές από 0 μέχρι 4. Παρακάτω θα δούμε τι σημαίνει κάθε μια από τις πέντε τιμές:
0: δεν υπήρξε αρχικοποίηση του αιτήματος
1: η σύνδεση με τον server έχει εδραιωθεί
2: το αίτημα στάλθηκε στον server
3: γίνεται επεξεργασία του αιτήματος
4: η επεξεργασία έχει τελειώσει και το αποτέλεσμα είναι έτοιμο να σταλεί στον browser

Η ιδιότητα status μπορεί να πάρει δύο τιμές: 200 που σημαίνει ότι μπορεί το αίτημα να ολοκληρωθεί και 404 όταν δεν βρέθηκε το url της πηγής δεδομένων ή του script στο οποίο θα γίνει η επεξεργασία του αιτήματος.

Έτσι με την συνθήκη εξασφαλίζουμε ότι το αίτημα θα ολοκληρωθεί μόνο αν το readyState έχει την τιμή 4 και το status την τιμή 200:
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}

Pin It