Recharger la page dynamiquement

A chaque appui de la barre d'espace

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir,

je souhaiterais actualisé la page après avoir pressé la barre d'espace du clavier, le tout dynamiquement.

Voilà ou j'en suis (je n'ai géré que la spacebar):

1
2
3
4
5
6
7
$(document).ready(function(){          
$('body').keyup(function(e){
   if(e.keyCode == 32){
       // code refresh
   }
});
});

PS: Ce serait un peu comme un bouton rafraîchir dans un chat' ou autre, ou il suffit d'appuyer pour avoir un rechargement dynamique.

PS2: J'aimerais dans le meilleur des cas ne pas avoir à faire appel à une autre page

Merci et bonne soirée :)

+0 -0
Staff
1
window.location.refresh();

Et voilà ! :)

Plus sérieusement, renseigne-toi un minimum sur Ajax pour charger les infos qui t'intéressent (plutôt que de recharger toute la page pour pas grand chose).


Soit dit en passant (et c'est pour ton bien), pense au triple égal, merci.

1
if (e.keyCode === 32) {

Édité par viki53

Auteur du sujet

Salut,

Tu entends quoi par "dynamiquement" "rechargement dynamique" ?

victor

Invisible par l'utilisateur, pas de loader sur l'onglet

1
window.location.refresh();

Et voilà ! :)

Plus sérieusement, renseigne-toi un minimum sur Ajax pour charger les infos qui t'intéressent (plutôt que de recharger toute la page pour pas grand chose).


Soit dit en passant (et c'est pour ton bien), pense au triple égal, merci.

1
if (e.keyCode === 32) {

viki53

Merci du conseil, pourrais tu développer ta réponse, je débute en JS/jQuery

EDIT: Je pense que c'est plutôt window.location.reload() et c'est exactement l'effet que je ne souhaite pas avoir :p

Édité par anonyme

+0 -0
Staff

Ajax te permet d'appeler un script PHP sans recharger la page entière. Le plus souvent, ledit script se termine par echo json_encode($tes_donnees); comme ça javascript le gère tout seul.

Avec JQuery, tu peux dès lors utiliser :

1
2
3
4
5
6
7
8
$.get('nom_de_ton_script.php', '', 
    function(data){ 
        /* ici tout ce que tu veux faire avec les données reçues */
        // par exemple
        alert(data);
        //ou, pour débugger
        console.log(data);
    }, 'json');

Premier code : tu veux simplement "obtenir" quelque chose de ton serveur

1
2
3
4
5
6
7
8
 $.post('nom_de_ton_script.php',  {donnee1:"valeur1", donnee2:"valeur2"}, 
    function(data){ 
        /* ici tout ce que tu veux faire avec les données reçues */
        // par exemple
        alert(data);
        //ou, pour débugger
        console.log(data);
    }, 'json');

Deuxième code : tu veux envoyer quelque chose à ton serveur et tu attends qu'il te dises OK.

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Attention, je sors paint !

Imaginons, que ta page, une fois que je suis arrivée deçu ressemble à ça :

La page quand j'arrive

Les carrés vert clair sont le contenu que tu veux "raffraichir dynamiquement".

Plus précisément, tu veux que là, la page aille vérifier que sur le serveur il y a pas un troisième article qui est arrivé et s'il est arrivé, il doit s'afficher.

Et donc tu fais le $.get('la_page_du_contenu_dynamique.php'.....) et tu fais en sorte que ça affiche le troisième contenu en fin de page :

La page dynamiquement chargée

Autre possibilité, pour exprimer l'envoi de donnée : regarde sur zds, si tu cliques sur les +1 et -1, tu ne recharges pas la page, pourtant tout a été envoyé sur le serveur.

+0 -0
Auteur du sujet

Oui ça j'ai compris, ce que je commence à comprendre c'est que AJAX sert juste a exécuter un code PHP dynamiquement (code se trouvant dans une autre page c'est ça ?) et non pas par exemple à rafraichir une page.

Pour reprendre l'exemple des +1/-1, il y a un script derrière qui permet d'ajouter +1 dans une table (pour faire simple) et ce script est exécuté sans rechargement.

C'est bien ça ?

Merci

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte