blog.leny.me

Configurer des données par défaut pour les requêtes AJAX dans jQuery

Lorsqu’un projet web repose essentiellement sur des échanges avec une API via AJAX, vous pouvez être sûr d’avoir souvent à communiquer les mêmes propriétés de données à votre API.

Puisque je suis quelqu’un qui n’aime pas me répèter, j’ai cherché à simplifier la chose en attachant une fois pour toutes les données récurentes pour toutes mes communications à venir.

Après quelques recherches, mon salut est venu de la méthode jQuery.ajaxPrefilter().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$.ajaxPrefilter( function( oOptions, oOriginalOptions ) {
// dans la variable suivante, on stocke les valeurs par défaut et les valeurs communes.
var oDefaultData = {
foo: "bar",
bar: "foo"
};
// si nos data sont un objet FormData (upload de fichiers via XMLHttpRequest v2), on quitte la méthode directement.
if( oOriginalOptions.data instanceof FormData ) {
return oOptions.dataType;
}
// on ajoute et écrase les data par défaut avec les data données.
oOptions.data = $.param( $.extend( oOriginalOptions.data, oDefaultData ) );
// on retourne le type de la requête.
return oOptions.dataType;
} );

Ce qui permet, dans le cadre de mon projet, de transmettre systématiquement certaines données lors de mes requêtes vers mon API.

Pratique.

leny

Il n'y a pas de module de commentaires sur ce blog, principalement pour éviter à devoir gérer avec les spams, la pub, les insultes, ...

Toutefois, si vous avez quelque chose à dire/corriger/modifier, ou simplement exprimer votre opinion sur un post, n'hésitez pas à me contacter sur Twitter (@leny_be).