..
C'est quelques semaines de la version 1.5 de notre bien-aimée jQuery, suivi par retour du courrier 1.5.1, essentiellement une version bug-fixes de la première.
Mon premier instinct m'a conduit à penser que vous pourriez attendre un certain temps à multiplier les cette nouvelle version, si ce n'est que parce que la branche 1.4.x déjà effectué leur travail très bien, pour ne pas mentionner que le temps reste un peu plus sur version donne aux utilisateurs un sentiment de stabilité et de sécurité.
Mais quand j'ai lu ce qui a été changé et ajouté j'ai changé d'idée tout de suite.
Les changements dans 1,5 sont considérables, mais pas tant dans les caractéristiques qui sont exposés à la quantité de travail a été fait dans les coulisses, en particulier dans le formulaire Ajax développeurs, dont les changements n'ont pas hésité à faire appel d'époque, pas tellement en général (ce que d'autres cadres utilisent déjà Ici, nous introduisons maintenant), mais pour jQuery.
Nous verrons un peu plus précisément ce qui a été fait.
Équipe de développement de ce cadre a réécrit la plupart des API Ajax fournit trois façons d'étendre les fonctionnalités d'Ajax $ ():. Les préfiltres, les convertisseurs et les transports
Un préfiltre est une fonction de rappel appelée avant que la requête Ajax est effectivement envoyé, et, comme expliqué dans la documentation, préalablement à toute les options de traitement par $. Ajax () lui-même.
Le préfiltre est enregistré en utilisant $ AjaxPrefilter ().:
$. AjaxPrefilter (function (options, originalOptions, jqXHR)
Je vais vous expliquer ce qu'est un jqXHR, Pensez-y comme un wrapper pour aujourd'hui enrichie d'un XMLHttpRequest.
L'exemple le plus intéressant dans la documentation qui explique l'utilisation possible des préfiltres de modifier une option existante
$. AjaxPrefilter (function (options) {
if (options.crossDomain) {
options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);
options.crossDomain = false;
}
});
Pour dire, si l'option est crossdomain l'appel est approché à l'http://mydomain.net/proxy/ URL.
Et 'possible d'utiliser $ AjaxSetup () pour l'enregistrer au niveau mondial.:
$. AjaxSetup ({
convertisseurs: {
"Texte Miodatatype": function (textValue) {
if (valide (textValue)) {
/ / Ici, la logique personnalisée pour analyser!
miodatatypeValue retour;
Else {}
/ / Notifie une erreur d'analyse
jète une exception;
}
}
}
});
Ou appelez directement en ligne pour chaque appel qu'elle nécessite:
$. Ajax (url, {
dataType: "texte XML miodatatype"
convertisseurs: {
«Texte XML": function (xmlValue) {
/ / Analyse de la logique ici!
textValue retour;
}
}
});
La raison la plus logique d'utiliser un convertisseur est qu'il offre un moyen de définir vos propres types de données, puis utilisé comme un type de retour, le premier exemple, nous pouvons demander à la miodatatype tapez ceci:
$. Ajax (url, {
dataType: "miodatatype"
});
Remarque: Le type de données doivent être définies comme des chaînes en minuscules.
S'il y avait assez de convertisseurs les préfiltres et pour façonner notre requêtes AJAX, les objets sont faits transports disponibles, que la documentation définit en dernier ressort (qui se traduirait par "ne pas utiliser" ou avec "si vous vous sentez obligé de les utiliser, peut-être vous devriez réfléchir sur la logique que vous utilisez »).
Cependant les transports fournir deux fonctions: envoyer et avorter et devraient être enregistrés en utilisant $ AjaxTransport ()..
Voici l'exemple de base fournie dans la documentation:
$. AjaxTransport (function (options, originalOptions, jqXHR) {
if (/ * transportCanHandleRequest * /) {
{Return
envoyer: fonction (en-têtes, completeCallback) {
/ * Envoyer * file d'attente /
},
abort: function () {
/ * Abandonner le code * /
}
};
}
});
et la description des paramètres qui traduisent à votre convenance:
la structure typique d'un completeCallback est comme suit:
fonction (statut, statusText, les réponses, en-têtes) {}
où:
Nous avons décrit ce qui a été ajoutée pour augmenter la flexibilité de l'ajax module, mais pour l'usage commun je trouve commentaire très intéressant sur l'introduction de différé, mais avant de le faire jqXHR définir le nouvel objet qui est retourné par les appels AJAX.
la famille jqXHR est un surensemble de l'objet XMLHttpRequest qui implémente l'interface de la promesse en fournissant toutes les méthodes, propriétés et comportements définis par une promesse:
Définition: Une promesse est une vue en lecture seule du résultat d'une tâche et représente la valeur retournée par l'achèvement de la transaction.
Pour plus d'informations, voir ici .
| |
CSS (cours)
Web Design et accessibilité selon le W3C CSS et XHTML. A partir de 29 €. |
| |
HTML (Cours)
Le langage de balisage pour le Web à partir de 29 €. |
| |
Javascript (Cours)
Guide complet pour les scripts côté client. A partir de 39 €. |