Από προεπιλογή, το αίτημα $ .ax στο jQuery έχει οριστεί σε ασύγχρονη. Το όνομα της μεταβλητής είναι async και η τιμή έχει οριστεί σε true. Αυτό μου έδωσε μια μικρή σύγχυση και όταν μάθω για πρώτη φορά, γι 'αυτό ας το ξεπεράσουμε.
Ασύγχρονη έναντι σύγχρονης
Η προεπιλεγμένη ρύθμιση στο jQuery. Από την εμπειρία μου, ο ασύγχρονος θα πρέπει σχεδόν πάντα να κάνει το τέχνασμα. Υπάρχουν επίσης και 2 καταστάσεις που δεν επιτρέπουν καν την πραγματοποίηση μιας σύγχρονης κλήσης.
- Αιτήσεις μεταξύ τομέων. Αν κάνω μια αίτηση ajax από την techjunkie.com σε ένα αρχείο στο whereever.com (ένα εντελώς διαφορετικό τομέα), αυτό θα ήταν ένα αίτημα cross domain.
- jsonp - Εάν θέλετε να ανακτήσετε cross-domain δεδομένα JSON, το JSONP είναι αυτό που ψάχνετε.
Πότε να χρησιμοποιείτε Σύγχρονη λειτουργία
Θα πρέπει πρώτα να γνωρίζετε ότι η ρύθμιση async to false παγώνει το πρόγραμμα περιήγησης. Το κλειδώνει εντελώς. Όχι μόνο η σελίδα σας, αλλά κάθε σελίδα που ο χρήστης μπορεί να έχει ανοικτή. Για παράδειγμα, εάν ο διακομιστής σας επιβραδύνει το μέσο αίτημα, έχετε απενεργοποιήσει αποτελεσματικά τον περιηγητή σας, μέχρι ο διακομιστής σας να έχει την ευκαιρία να καλύψει τα δεδομένα που χρειάζονται.
Αντί να το διακινδυνεύσετε με μια σύγχρονη κλήση, απλά καθορίστε μια λειτουργία επανάκλησης για επιτυχία ή σφάλμα. Θα φτάσετε στο ίδιο τελικό σημείο χωρίς ενδεχομένως να καταστρέψετε την εμπειρία περιήγησης του χρήστη. Εν ολίγοις, μην χρησιμοποιείτε σύγχρονη κλήση. Είναι κακό για την εφαρμογή σας και το UX.
