english version

Par Julien Lamarre, 02 octobre 2005
Autres sites: The meaning of life!


AJAX sans utilisation de XMLHttpRequest, frame, iframe, Java ou Flash

  • Seul une image, une feuille de style ou un .js est utilisé pour la communication entre le client et le serveur, le tout sans rafraîchissement de la page.
  • Ces techniques ne sont pas nécessairement les plus utiles et performantes, elles ont été développées uniquement pour le plaisir et pour démontrer leur faisabilité.
  • Pour le code, voir la source de cette page ainsi que le fichier PHP associé.
  • Le code est libre de droits alors ne vous gênez pas pour l'utiliser ou le modifier! Les crédits sont les bienvenus par contre!
  • Pour plus de renseignements, une explication du code ou pour laisser un commentaire: psssst!


avec une image    avec une feuille de style    avec un .js
 


AJAX à l'aide d'un .js

  • Cette technique me semble être la plus intéressante des trois (image, stylesheet, .js). Le fait que la réponse du serveur se fasse directement en javascript est un plus. Le client n'a pas à parser la réponse d'une quelconque manière! Le serveur pourrait directement retourner des structures complexes: tableaux, objets... La réponse n'a pas de limite de longueur.

  • La connection du client vers le serveur est effectuée en utilisant un .js créé dynamiquement et en ajoutant certains paramètres à sa propriété ".src".
    Trois types de génération dynamique de .js sont inclus car certaines méthodes fonctionnent avec certains navigateurs alors que d'autres non. Par exemple Firefox ne supporte pas le changement du .src d'un .js qui a déjà été loadé mais fonctionne en créant un nouvel élément "script" à l'aide de createElement() ou avec innerHTML.

    La réponse du serveur est envoyée directement en javascript dans le .js!

  • Le désavantage que je vois par rapport à des techniques plus classiques comme avec XMLHttpRequest, c'est qu'il est imposible de faire des POST.

    Il est également possible que ça ne fonctionne pas avec des navigateurs plus vieux, plus de tests devraient être effectués à ce sujet. J'ai testé avec succès Firefox 1.0.7, IE6 et Opera 7.

  • Le fichier PHP associé: js.php

Votre navigateur ne possède pas tous les prérequis pour que ce script fonctionne correctement!
  • support du javascript
  • support de document.getElementById()

1. Hello World!






2. Addition de deux nombres

+ =




3. En quoi ce nombre est-il spécial? (entrez un nombre de 0 à 9999)

- La réponse sera en anglais
- Les données ont été prises sur http://www.stetson.edu/~efriedma/numbers.html