AJAX - The XMLHttpRequest Object

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Dies Irae
Δημοσιεύσεις: 33
Εγγραφή: 28 Δεκ 2005 13:06
Τοποθεσία: Θεσσαλονίκη

AJAX - The XMLHttpRequest Object

Δημοσίευση από Dies Irae » 01 Δεκ 2008 18:43

Καλησπέρα, εχώ την εξής απορία και θα ήθελα να βοηθήσετε. Σε όσα παραδείγματα έχω δει η διάταξη έχει ως εξής:

Έστω ότι έχουμε ένα XMLHttpRequest Object που ονομάζεται xmlHttp

1. xmlHttp.onreadystatechange
2. xmlHttp.open
3. xmlHttp.send

Κανονικά το xmlHttp.onreadystatechange δεν θα έπρεπε να είναι τελευταίο; Δηλαδή πρώτα κάνεις το open, ύστερα το send και στο τέλος να χρησιμοποιείς όλες τι αλλαγές που σου έρχονται από το server???

Ευχαριστώ
Somewhere in time I will find you and haunt you again like the wind sweeps the earth

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

AJAX - The XMLHttpRequest Object

Δημοσίευση από cherouvim » 01 Δεκ 2008 20:51

Θα σου προτείνω να χρησιμοποιήσεις το jQuery.

Άβαταρ μέλους
Dies Irae
Δημοσιεύσεις: 33
Εγγραφή: 28 Δεκ 2005 13:06
Τοποθεσία: Θεσσαλονίκη

AJAX - The XMLHttpRequest Object

Δημοσίευση από Dies Irae » 01 Δεκ 2008 20:55

Η ερώτηση δεν έχει να κάνει με το τι πρέπει να χρησιμοποιώ, απλά αν υπάρχει κάποια συγκεκριμένη λογική που χρησιμοποίεται αυτή η σειρά. Δοκίμασα ένα παράδειγμα αλλά δεν είδα κάποια διαφορά, δεν ξέρω βέβαια σε πιο σύνθετα παραδείγματα να μπορεί να παρουσιάσει κάποιο πρόβλημα.
Somewhere in time I will find you and haunt you again like the wind sweeps the earth

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

AJAX - The XMLHttpRequest Object

Δημοσίευση από cherouvim » 01 Δεκ 2008 20:58

Δυστυχώς δεν έχω ψάξει σε βάθος τις ασύγχρονες κλήσεις με plain javascript.

Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

AJAX - The XMLHttpRequest Object

Δημοσίευση από Pavel » 02 Δεκ 2008 00:36

Με το xmlHttp.onreadystatechange απλά προετοιμάζεις τις συναρτήσεις οι οποίες θα ελέγξουν τα δεδομένα που θα λάβεις ως απάντηση.
Αν κάνεις πρώτα open/send και μετά onreadystatechange υπάρχει η μικρή πιθανότητα να λάβεις απάντηση πριν φτάσει η εκτέλεση του κώδικα στο onreadystatechange.

Σκέψου ως ένα καλό παράδειγμα, να χρησιμοποιήσεις Ajax για synchronous αποστολή δεδομένων. Η εκτέλεση του κώδικα θα μείνει στο send μέχρι να λάβει απάντηση. Οπότε αν ο κώδικας του ελέγχου είναι πιο κάτω, δεν θα μπορέσεις να αξιοποιήσεις το reply που θα πάρεις.
Εσύ είσαι τρελός.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης