Échange d’objets JSON entre PHP et JavaScript, facile grâce à jQuery

Sites internet AJAX avec jQuery

jQuery fourni un moyen efficace de sélectionner des éléments du DOM et de les affecter, mais il fourni aussi un moyen très simple de faire de l’échange AJAX. Il fourni des fonctions comme load(), $.get(), $.post(), $.ajax() et, mon sujet d’aujourd’hui, $.getJSON().

Cette fonction permet de faire une requête en envoyant un objet JSON, qui sera traduit en paramètres GET, et de reçevoir en réponse un objet JSON qui sera automatiquement traité.

Introduction à jQuery

Vous devez trouver que je fais beaucoup d’articles « Introduction à … »! Je veux simplement m’assurer que tout le monde sait au moins de quoi je parle avant d’aller plus loin.

Libraire JavaScript

jQuery est une librairie JavaScript légère et de plus en plus populaire. Il couvre, entre autres, la modification du DOM, avec ou sans animation, la gestion des évènements et le AJAX. Il ne pèse que 15Kb lorsque gzippée par le serveur. Même Microsoft est en train de l’intégrer dans sa suite Visual Studio !

Encore un mot sur les variables en JavaScript

Dans un précédent article, je parlais de la portée des variables en JavaScript. Je veux revenir sur les variables globales pour ajouter quelques détails.

Quand on déclare une variable en dehors de tout objet ou fonction, une chose qui peut surprendre, c’est qu’on assigne en fait cette variable comme étant une propriété de window. Les notations suivantes, en dehors d’une fonction ou d’un objet, sont donc équivalentes:

var variable = 40;
variable = 40;
window.variable = 40;

On peut même pousser encore un peu plus loin et dire la même chose des fonctions.

Portée des variables en JavaScript

Les variables en JavaScript, comme dans la plupart des langages de programmation, ont une portée (variable scope). De la manière que ça fonctionne en JavaScript, elles sont soit globales ou locales.

Variables globales

Les variables globales sont accessibles et modifiables de partout dans le code. On n’a pas à les passer en paramètre pour les lire ou modifier à l’intérieur de fonctions. Pour déclarer des variables globales, on n’a qu’à la déclarer avec var en dehors d’une fonction. Sinon, on peut aussi la déclarer sans var à l’intérieur d’une fonction. Sans vouloir trop pousser, je crois que la recommandation est de toujours déclarer les variables avec var. Il faudrait donc s’assurer de déclarer la variable en dehors de toute fonction avant de l’utiliser de manière globale dans une fonction.