refresh un fichier php

WRInaute impliqué
Bonjour, j'utilise ce code depuis toujours et ça marche parfaitement :

Code:
<div id="lastselect">
include('includes/test.php');
</div>

Maintenant je veux rafraichir chaque 5 seconde le fichier test.php, j'ai donc trouvé ceci sur internet :

Code:
<script type="text/javascript">
function refresh() {
$.ajax({
    url: "includes/test.php",
    success:
        function(retour){
        $('lastselect').html(retour);
    }
});

}

setInterval(refresh(), 5000) 
</script>
<div id="lastselect"></div>

Pouvez vous m'aider car le code n'include même pas test.php

Merci
 
WRInaute accro
Tu dois indiquer quel type d'éléments doit être rattaché à ton retour ajax. Comme il s'agit d'un id alors il faut ajouter un dièse #lastselect
 
WRInaute impliqué
Merci, voici le code que j'utilise maintenant :

Code:
<script type="text/javascript">
function refresh() {
$.ajax({
    url: "includes/test.php",
    success:
        function(retour){
        $('#lastselect').html(retour);
    }
});
}
setInterval(refresh(), 5000)
</script>

<div id="lastselect">
</div>

il m'affiche seulement le div vide ! malgré que dans la page test.php j'ai du texte, sur la console il m'affiche l'erreur : (index):84 Uncaught ReferenceError: $ is not defined at refresh ((index):84)

Index 84 c le code en question
 
WRInaute impliqué
@spout voici donc mon nouveau code qui ne donne aucun résultat :

Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script>
        $(function(){
            setInterval(function(){
                $('#lastselect').load('https://www.monsite.com/includes/test.php');
            }, 5000);
        });
    </script>


<div id="lastselect">
</div>
 
WRInaute impliqué
ah oui, chaque 5 seconde la consolle affiche l'erreur :
Code:
 GET https://www.monsite.com/includes/test.php 403 (Forbidden)
XHR failed loading: GET "https://www.monsite.com/includes/test.php".

@spout en changeant le chmod test.php en 777 même erreur et le fichier est bien présent dans le lien (https://www.monsite.com/includes/test.php)!!
 
WRInaute impliqué
Merci @spout ça fonctionne parfaitement maintenant, juste une chose le div s'affiche vide pour les 5 premières secondes puis il se charge chaque 5 secondes il faut faire comment pour qu'il secharge dès lq premier affichage et pas après 5 secondes ?
 
WRInaute discret
Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
   <script>
       $(function(){
           $('#lastselect').load('https://www.monsite.com/includes/test.php');
           setInterval(function(){
               $('#lastselect').load('https://www.monsite.com/includes/test.php');
           }, 5000);
       });
   </script>


<div id="lastselect">
</div>
 
WRInaute impliqué
Très bien ça marche, merci @mickou51 , est il possible que lors de l'affichage du nouveau contenu (chaque 5 secondes) le contenu du #lastselect s'affiche en progressivement (avec effet flou "opacity") ?
 
Discussions similaires
Haut