..
Είναι λίγες εβδομάδες από την έκδοση 1.5 της αγαπημένης jQuery μας, που ακολουθείται από την επιστροφή του μετά το 1.5.1, βασικά ένα bug-σταθερή έκδοση του πρώτου.
Πρώτο ένστικτό μου με οδήγησε να σκεφτεί ότι θα μπορούσατε να περιμένετε κάποιο χρόνο για να επαναλαμβάνουμε αυτή τη νέα έκδοση, έστω και μόνο επειδή το 1.4.x υποκατάστημα που έχουν ήδη γίνει για το έργο τους πολύ καλά, για να μην αναφέρουμε ότι παραμένει λίγο περισσότερο χρόνο για την έκδοση δίνει στους χρήστες την αίσθηση της σταθερότητας και της ασφάλειας.
Αλλά όταν διάβασα τι έχει αλλάξει και πρόσθεσε άλλαξα το μυαλό μου αμέσως.
Οι αλλαγές σε 1,5 είναι σημαντικές, αλλά όχι τόσο πολύ στα χαρακτηριστικά που εκτίθενται σε πόση δουλειά έχει γίνει στο παρασκήνιο, ιδίως με τη μορφή Ajax προγραμματιστές, των οποίων οι αλλαγές να μην διστάσετε να καλέσετε εποχής, όχι τόσο σε γενικές γραμμές (ό, τι άλλα πλαίσια που έχουν ήδη χρησιμοποιήσει Εδώ έχουμε εισαγάγει τώρα), αλλά για jQuery.
Θα δούμε λίγο πιο συγκεκριμένα τι έχει γίνει.
Η ομάδα ανάπτυξης του πλαισίου έχει ξαναγραφεί το μεγαλύτερο μέρος της Ajax API παρέχει τρεις τρόπους για να επεκτείνετε τη λειτουργικότητα των $ Ajax ():. Η prefilters, τους μετατροπείς και για τις μεταφορές
Ένα προφίλτρο είναι μια λειτουργία που ονομάζεται επανάκλησης πριν από την αίτηση Ajax είναι πραγματικά έστειλε, και, όπως περιγράφεται στην τεκμηρίωση του, πριν από οποιαδήποτε θεραπευτικές επιλογές από $. Ajax () η ίδια.
Το προφίλτρο καταγράφεται με τη χρήση $ AjaxPrefilter ().:
$. AjaxPrefilter (λειτουργία (επιλογές, originalOptions, jqXHR)
Θα σας εξηγήσω τι jqXHR, Σκεφτείτε το σαν περιτύλιγμα για τώρα εμπλουτισμένο με ένα XMLHttpRequest.
Το πιο ενδιαφέρον παράδειγμα στην τεκμηρίωση που εξηγεί την πιθανή χρήση prefilters να τροποποιήσετε μια υπάρχουσα επιλογή
$. AjaxPrefilter (λειτουργία (επιλογές) {
αν (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url)?
options.crossDomain = false?
}
})?
Το να πούμε, αν η επιλογή είναι crossDomain η κλήση proxied στο http://mydomain.net/proxy/ URL.
Και «είναι δυνατόν να χρησιμοποιούν $ AjaxSetup () για να εγγραφείτε σε παγκόσμιο επίπεδο.:
$. AjaxSetup ({
μετατροπείς: {
"Κείμενο Miodatatype»: λειτουργία (textValue) {
αν (ισχύει (textValue)) {
/ / Εδώ το έθιμο λογική για να αναλύσει!
miodatatypeValue επιστροφή?
Else {}
/ / Ανακοινώνει σε ένα σφάλμα ανάλυσης
ρίξει εξαίρεση?
}
}
}
})?
Ή καλέστε άμεσα inline για κάθε κλήση που απαιτεί:
$. Ajax (url, {
Τύπος δεδομένων: "xml κείμενο miodatatype"
μετατροπείς: {
"Κείμενο XML»: λειτουργία (xmlValue) {
/ / Parse η λογική εδώ!
textValue επιστροφή?
}
}
})?
Ο λόγος για τον πιο λογικό να χρησιμοποιήσετε ένα μετατροπέα είναι ότι παρέχει έναν τρόπο για να καθορίσουν τη δική τύπους δεδομένων σας, τότε χρησιμοποιείται ως ένα είδος επιστροφής, το πρώτο παράδειγμα, μπορούμε να ζητήσει από το miodatatype τύπου αυτού:
$. Ajax (url, {
Τύπος δεδομένων: "miodatatype"
})?
Σημείωση: Ο τύπος δεδομένων πρέπει να οριστεί ως πεζά χορδές.
Εάν δεν υπάρχει αρκετός μετατροπείς της prefilters και για τη διαμόρφωση ajax αιτημάτων μας, είναι τα αντικείμενα που διατίθενται μεταφορών, ο φάκελος που ορίζει έσχατη λύση (η οποία θα μεταφράζεται ως "δεν χρησιμοποιούν" ή με "εάν αισθάνεστε υποχρεωμένοι να τα χρησιμοποιούν, ίσως θα πρέπει να προβληματιστούν σχετικά με λογική που χρησιμοποιείτε ").
Ωστόσο, οι μεταφορές παρέχει δύο λειτουργίες: την αποστολή και τη ματαίωση και θα πρέπει να καταγράφονται χρησιμοποιώντας $ AjaxTransport ()..
Εδώ είναι το βασικό παράδειγμα που περιέχεται στα έγγραφα:
$. AjaxTransport (λειτουργία (επιλογές, originalOptions, jqXHR) {
if (/ * transportCanHandleRequest * /) {
{Επιστροφή
στείλετε: λειτουργία (κεφαλίδες, completeCallback) {
/ * Αποστολή * ουρά /
},
ματαίωση: λειτουργία () {
/ * Ματαίωση κωδικό * /
}
}?
}
})?
και την περιγραφή των παραμέτρων που μεταφράζουν για την εξυπηρέτησή σας:
την τυπική δομή ενός completeCallback έχει ως εξής:
λειτουργία (κατάσταση, statusText, απαντήσεις, headers) {}
όπου:
Έχουμε περιγράφεται τι έχει προστεθεί η αύξηση της ευελιξίας της μονάδας ajax, αλλά για την κοινή χρήση βρίσκω πολύ ενδιαφέρουσα παρατήρηση σχετικά με την εισαγωγή της αναβαλλόμενης, αλλά πριν από αυτό τον τρόπο jqXHR καθορίσει το νέο αντικείμενο που επιστρέφεται από τις κλήσεις ajax.
jqXHR οικογένεια είναι ένα υπερσύνολο του αντικειμένου XMLHTTPRequest που υλοποιεί την υπόσχεση interface, παρέχοντας όλες τις μεθόδους, τις ιδιότητες και συμπεριφορές που ορίζονται με την υπόσχεση:
Ορισμός: Μια υπόσχεση είναι μια προβολή μόνο για ανάγνωση του αποτελέσματος μιας εργασίας και αντιπροσωπεύει την τιμή που επιστρέφεται από την ολοκλήρωση της συναλλαγής.
Για περισσότερες πληροφορίες δείτε εδώ .
| |
CSS (Μάθημα)
Σχεδίαση και Προσβασιμότητα, σύμφωνα με το W3C CSS και XHTML. Ξεκινώντας από 29 €. |
| |
HTML (Μάθημα)
Η γλώσσα σήμανσης για τον Παγκόσμιο Ιστό από 29 €. |
| |
Javascript (Μάθημα)
Πλήρης οδηγός για δέσμες ενεργειών στην πλευρά του πελάτη. Από 39 €. |