AJAX, Prototype et Esperluettes

admin, le 12 février 2007 à 10:00 dans Programmation

Petite astuce javascript jour :)

Il est très facile de créer des requêtes AJAX avec la librairie Prototype.

var ar = new Ajax.Request(’ajax.php’, { postBody: ‘var1=’+x+’&var2=’+y+’&var3=’+z });

Toutefois, ceci ne fonctionnera pas si une des variables (dans ce cas: x, y ou z) contient le symbole esperluette (ampersand, &). Si on veut envoyer du code HTML, il y a de fortes chances que ce symbole se retrouve dans notre requête.

(Disons qu’on veut poster le contenu de l’éditeur HTML FCKEditor par une requête AJAX avec Prototype…)

La solution est toute simple, grâce au hash de prototype.

var params = $H({
var1: x,
var2: y,
var3: z
});

var ar = new Ajax.Request(’ajax.php’, {postBody:params.toQueryString()});

Ainsi, grâce a la méthode toQueryString() de l’objet H (que l’on crée
simplement avec la fonction "$H"), on s’assure que notre POST sera
construit correctement.

Tags associés: ajax, astuces, javascript, php, Programmation, TI, Web 2.0

Aucun commentaire »

Flux RSS des commentaires de cet article. TrackBack URI

Laisser un commentaire