question sur html/javascript [RESOLU]
naskaa
Membre
salut,
Dans une architecture client/serveur. Quand le client (navigateur web) demande une page html par une requete http, le serveur lui repond par le fichier html. Admettons dans ce fichier html, il y a du code javascript qui s'execute quand on clique sur un bouton dans la page html et qui fait qu'un titre present sur la page change de couleur.
[glow=red,2,300]Je veux savoir ce qui se passe au moment du clique svp ?[/glow]
Le navigateur va envoyer une nouvelle fois une requete http pour actualiser la page. Mais que se passe-t-il concretement est-ce que l'ancien fichier html est perdu et on recharge un nouveau avec la modification a l'interieur du html ou est-ce que la fichier html reste coté client et la réponse de la requete contient une variable qui va etre traiter par le code javascript pour modifier la couleur ?
merci
Dans une architecture client/serveur. Quand le client (navigateur web) demande une page html par une requete http, le serveur lui repond par le fichier html. Admettons dans ce fichier html, il y a du code javascript qui s'execute quand on clique sur un bouton dans la page html et qui fait qu'un titre present sur la page change de couleur.
[glow=red,2,300]Je veux savoir ce qui se passe au moment du clique svp ?[/glow]
Le navigateur va envoyer une nouvelle fois une requete http pour actualiser la page. Mais que se passe-t-il concretement est-ce que l'ancien fichier html est perdu et on recharge un nouveau avec la modification a l'interieur du html ou est-ce que la fichier html reste coté client et la réponse de la requete contient une variable qui va etre traiter par le code javascript pour modifier la couleur ?
merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
L'exécution d'un code javascript par exemple pour changer la couleur d'un titre ne fait en aucun cas une requête serveur.
Bien sûr, avec le "Web 2.0" et l'utilisation d'AJAX, le javascript peut servir à faire des requêtes (vers une autres URL qui n'est pas l'URL de la page, mais une URL par exemple vers un WebService), requêtes AJAX qui vont lui retourner une réponse (par exemple lui retourner du JSON ou du texte ou autre) et se servir de cette réponse pour mettre à jour la page.
Mais à la base, javascript est interprété côté client de toute façon.
fonctionnement de base Http Html
le client demande une page le serveur envoie le Html correspondant le client l'affiche. l'utilisateur clique sur un lien pour change la couleur le client (navigateur) demande au serveur la nouvelle page le serveur lui renvoie le html avec le titre en couleur et le client l'affiche
à ce moment là tout ce qui concernait la page précédente est perdu variable javascript fonctions DOM (les objets qui permettent au navigateur d'afficher la page)
fonctionnement Http Html Javascript
le client demande une page le serveur envoie le Html correspondant le client l'affiche. le client clique sur un bouton qui active une fonction javascript celle-ci récupère dans le DOM l'objet titre et lui change sa couleur, le navigateur affiche alors la nouvelle couleur.
il n'y a pas de demande au serveur et pas d'actualisation de la page
fonctionnement Http Html Javascript XMLHttpRequest
(Javascript + XMLHttpRequest = Ajax )
le client demande une page le serveur envoie le Html correspondant le client l'affiche. le client clique sur un bouton qui active une fonction javascript celle-ci
utilise XMLHttpRequest et demande au serveur un nouveau titre (en couleur)
le serveur répond l'objet XMLHttpRequest appelle une fonction javascript qui remplace l'ancien titre par le nouveau
seul les objets dépendants de l'objet du DOM sont détruits et remplacer
en résumé
requête simple on perd tout
sans requête on ne perd rien
avec requête ajax on ne perd que ce qu'on détruit explicitement dans ses fonctions js
A+JYT
Cependant J'ai une question sur le cas 3 : fonctionnement Http Html Javascript XMLHttpRequest
Lorsque le javascript insère le nouveau titre en couleur, la page html elle est reconstruire coté client et le navigateur la recharge mais comment il sait qu'il doit la recharger est-ce a cause de l'evenement du click ?