Accueil du site > Jquery > Transmettre des tableaux (array) dans les requetes ajax
Transmettre des tableaux (array) dans les requetes ajax
dimanche 27 décembre 2009, par
Lors d’une énième lecture de la documentation de jquery je suis tombé sur une petite perle qui va certainement faire la joie des développeurs. Si vous êtes un habitué de jquery et de l’ajax il vous est arrivé certainement , mille fois , si ce n’est plus , d’avoir à envoyer un ensemble de données vers votre serveur.
Si une , deux ou trois variables sont envoyés, cela se fait vraiment de manière très simple. Mais si vous devez passer un ensemble de données cela peut se révéler tout de suite beaucoup plus compliqué. Généralement la solution adoptée est soit d’échanger les données sous un format plus adapté ( par exemple du xml ou du json ) , soit se créer soit même une syntaxe qui sera interpréter par un script côté serveur.
Il existe une autre possibilité que je ne connaissais pas et que je m’empresse de vous faire partager via un petit exemple.
Cette fonction en javascript est assez simple. Je parcours un ensemble de case à cocher en stockant les éléments sélectionnés dans le tableau arrayCheckBox . Ensuite je construit un objet javascript , req , que je vais passer dans ma requete de type POST. C’est là ou il y a cette notation que je connaissais pas et qui fait des miracles ==> ’tab[]’ : arrayCheckBox !!!
Lors de l’envoie de ces éléments les éléments du tableau vont être considéré comme un tableau à l’intérieur du tableau $_POST. Le fichier file.php appelé par cette requête ajax se contente de renvoyer un print_r de $_POST. Et en cas de succès la réponse est inscrite dans l’élément DOM ayant l’id resulsat.
Et voici le résultat ...

Je trouve cela super pratique car cela offre un format supplémentaire pour l’envoi de données. Format d’autant plus intéressant que $_POST est un tableau php qui peux s’exploiter sans aucun traitement particulier ( à la différence du xml qui doit être parser ).
J’espère que cela vous aura appris quelque chose d’intéressant et comme d’habitude vous pouvez télécharger la démo.
Merci de votre lecture et de votre visite.
Documents joints
- Télécharger l’exemple (Zip – 19.8 ko)
4 Messages de forum
Dans la même rubrique
- Jquery 1.4 : Per-property Easing, setter avec fonctions sur les attributs , Event Multi-binding
- Jquery 1.4 : les nouveautès , live() ,detach(), unwrap() et delay()
- Jquery 1.4 , introduction a jQuery.proxy()
- Jquery 1.4 , approche RIA , Quick Element Construction
- Jquery 1.4 , attention incompatibilité ... JSON
- Jquery , sa documentation ,ses plugins , ses ressources , les indispensables
- Réaliser avec jquery un moteur ajax simple et efficace
- Les secrets caches de la librairie jquery ui
- Transmettre des tableaux (array) dans les requetes ajax