Bonjour, j'ai suivie le tuto Navigation en Ajax.
Dans ce tuto on apprend a charger juste une seule partie de la page . Donc je charge des fichiers, cela s'affiche bien mais quand je rajoute une requête php . La page affiche ma requête php mais ne l’exécute pas . je suis obligé d'actualiser ma page pour que la requête s’exécute.

Code Ajax

$(document).ready(function(){
    $("#menu a").click(function(){

        page=$(this).attr("href");
        $.ajax({
            url: "contenu/"+page,
            cache:false,
            success:function(html){
                afficher(html);
    history.pushState({key:'value'}, 'titre', page);
            },
            error:function(XMLHttpRequest,textStatus, errorThrown){
                afficher("erreur lors du chagement de la page");
            }
        })
        return false;
    });

    window.onpopstate = function(event){ //lancer des qu'il y a back ou un next seulement quand il y a pushState
        var urlcourant = document.location.pathname;
        var urlutile = urlcourant.substring(urlcourant.lastIndexOf('/')+1);

            $.ajax({
            url : "contenu/"+urlutile,
            cache:false,
            success:function(html){
                afficher(html);
            },
            error:function(XMLHttpRequest,textStatus, errorThrown){
                afficher("erreur lors du chagement de la page");
            }

        })

}
});
function afficher(data){
$("#contenu").fadeOut(500,function(){ // cacher le contenu
    $("#contenu").empty(); // vider le contenu
    $("#contenu").append(data); // pour ajouter les données
    $("#contenu").fadeIn(1000); // afficher les données
})
}

Le code qui s'éxecute qu'après actualisation :

<h2>Actualités</h2>
<hr class="trait"/>
<?php
  $req = $connected->prepare('Select * From actualite order by Date_Ajout DESC ');
                  $req ->execute();
                  for($i=0; $i < $result = $req->fetch();$i++){
                  $image = $result'Image']; ?>
<div class="actua">

    <p><?php echo($result'Titre']);?></p>
    <img src="../Intranet/Image/<?php echo $image;?>" alt="" />
    <p><?php echo($result'Description']); ?></p>
</div>
 <?php } ?>

Merci de votre aide

4 réponses


Bonjour, $.get donne pareil que $.ajax?

bien cordialement

Edit: Quand tu dis la page affiche ma requete php tu veux dire affiche le code php ?

Enguix
Auteur

Merci mais c'est pas ça .
Et oui ça affiche que le code php jusqu’à ce que j'actualise.

C'est curieux.. comment tu traites la requete coté serveur ? quelque chose de particulier?
quelle est l'url que tu appeles? c'est bien un fichier.php?

tu as oublié de déclarer ta variable page il me semble cela devrait être

var page=$(this).attr("href");

Ton problème est bizarre, sous quel hébergeur es-tu ? et quel version de php ?