Bonjour,

Voila je rencontre un petit problème avec mon code
J'ai suivi le tuto de Grafik pour créer les like et dislike des pages.
Tout va bien. Le like/dislike marche, il incremante mes 2 tables etc.
J'arrive au bout au niveau de la gestion du .js et là je rencontre un souci avec la gestion du chargement des like et dislike
J'ai fait sur le lien un visuel de la chose

etat 1 : j'ai mis un pouce rouge.
etat 2 : je décide de voter pour. (Lorsque le vote pour se fait, une div avec écrit chargement apparait et est censée disparaitre pour faire apparaitre mon vote avec le pouce vert... or la div reste et rien ne change
etat 3 : je suis obligé de F5 la page pour voir le vote changé...

http://www.amiibo-collection.com/forumGra/03.jpg

Je vais sur la console sur Google Chrome pour voir ce qui se passe / Voici ma démarche de suivi

Dans Network / XHR, je consulte les fichiers qui sont sollicités qd je clique sur tel ou tel bouton de vote sur le like.php, il me met en statuts 500, type xhr, initiator jquery.min.js:4 avec un size (489b) et un temps de 3.09s
dans l'initiator j'ai ça comme détail

http://www.amiibo-collection.com/forumGra/01.jpg

Je comprends pas trop tout ceci dans un premier temps.
après, voici mon fichier app.js

$(document).ready(function(){

    var $vote = $('#vote');
    $('.vote_like', $vote).click(function(e){
        e.preventDefault();
        vote(1);
        });

        $('.vote_dislike', $vote).click(function(e){
        e.preventDefault();
        vote(-1);

        });

        function vote(value){
            $('.vote_loading').show();
            $('.vote_btns').hide();
            $.post('like.php', {
            ref: $vote.data('ref'),
            ref_id: $vote.data('ref_id'),
            id_user: $vote.data('id_user'),
            vote: value 
            }).done(function( data, textStatus, jqXHR ){
                $('#dislike_count').text(data.dislike_count);
                $('#like_count').text(data.like_count);
                $vote.removeClass('is-liked is-disliked');
                if(data.success){
                    if(value == 1){
                        $vote.addClass('is-liked');
                    } else {
                        $vote.addClass('is-disliked');  
                    }
                }

                var percentage = Math.round(100*(data.like_count / (parseInt(data.dislike_count) + parseInt(data.like_count))));
                $('.vote_progress').css('width', percentage + '%');
                $('.vote_loading').hide();
                $('.vote_btns').fadeIn();   
            }).fail(function( jqXHR, textStatus, errorThrown ){
                console.log(jqXHR);

                });
        }
    })

J'ai 2 questions : est-ce que le fichier app.js est good ? et 2, pourquoi la page ne se recharge pas automatiquement et que je sois obligé de F5 pour voir mon vote se faire correctement, sachant que si je consulte le sql, sans que j'ai à charger la page, le vote a été changé déjà..

Merci par avance

1 réponse


Personne n'a une idée ?
est-ce un souci avec jquery le fichier distant qui fait que ça ne refresh pas ma page ?
Cordialement