Jquery et fonction 'load'
Résolu
maxtheirish
Messages postés
23
Statut
Membre
-
Shymon Messages postés 150 Statut Membre -
Shymon Messages postés 150 Statut Membre -
Bonjour,
En Jquery, je charge une div 'corps' avec des pages PHP differentes lorsque l'on clique sur l'un des boutons de mon menu :
J'aimerais savoir si il est possible de recharger ma div 'corps' avec la même page (ou le même code de la page) qui est actuellement chargé, en gardant le code PHP de la page et en restant dynamique (je ne souhaite pas faire une fonction différente pour chaque page mais plutôt une fonction qui enveloppe toute mes pages).
Si je ne suis pas assez clair je reste a disposition pour de plus amples informations.
En Jquery, je charge une div 'corps' avec des pages PHP differentes lorsque l'on clique sur l'un des boutons de mon menu :
$('#btnMenu').click(function(){
$('#corps').load('page.php');
});
J'aimerais savoir si il est possible de recharger ma div 'corps' avec la même page (ou le même code de la page) qui est actuellement chargé, en gardant le code PHP de la page et en restant dynamique (je ne souhaite pas faire une fonction différente pour chaque page mais plutôt une fonction qui enveloppe toute mes pages).
Si je ne suis pas assez clair je reste a disposition pour de plus amples informations.
5 réponses
-
Si j'ai bien compris, il faudrait que tu stockes quelle page PHP est chargée dans la div pour pouvoir la rafraichir. un truc comme ça :
// la fonction de chargement $('#btnMenu').click(function(){ var pagePHP = 'ma-page-PHP-à-charger.php'; $('#corps').attr( 'page' , pagePHP ); $('#corps').load( pagePHP ); }); // la fonction de rafraichissement $('#btnRafraichir').click(function(){ var pagePHP = $('#corps').attr( 'page'); $('#corps').load( pagePHP ); });
ça te convient ?
Simon-
-
-
-
La fonction "load" de jQuery permet de faire une requête vers le serveur et de recevoir la réponse (en l'occurrence, le contenu de "corps"). Mais sous IE par exemple, les réponses aux requêtes sont mises en cache, il ne s'embête pas à aller chercher une réponse pour une requête déjà effectuée.
Ce qui veut dire que si tu fait deux fois la même requête, tu aura deux fois la même réponse même si la page PHP à changée entre temps ... pas cool pour un rafraichissement !
Un moyen d'éviter ça est de mettre ce code avant l'exécution de "load" :$.ajaxSetup ({ cache: false }); -
-
-
J'ai du mal à comprendre mais tu veux simplement changer (remplacer) le contenu de #corps à chaque click des boutons du menu OU rajouter à chaque click du contenu à #corps ?
-
Concrètement, sans parler de clique, je souhaite avoir une fonction qui va me "rafraichir" ma div #corps (donc en gros remplacer la page chargée par la même) sans que j'ai besoin de savoir quel page est actuellement chargée.
Comme le bouton actualiser du navigateur mais la c'est pour actualiser ma div #corps. -
Si tu veux un refresh automatique je te dirais :
function refresh_auto() { $("#corps").html("").load("page.php"); } setInterval("refresh_auto()", 2000); // pour un refresh à 2sec
Google est ton ami ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci d'avoir pris le temps de chercher, shymon m'a apporté la solution bonne soirée.