requête AJAX vers WordPress OK sous Chrome et IE mais pas sous Firefox

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
atriacenter
Arias
Messages : 1
Inscription : 03 févr. 2017, 12:31

requête AJAX vers WordPress OK sous Chrome et IE mais pas sous Firefox

Message par atriacenter »

J'ai mis en place différents appels AJAX vers mon site WordPress et tout fonctionne bien à l'exception d'une requête AJAX spécifique qui fonctionne bien sous Chrome et IE mais pas sous Firefox.

Voici les détails pour reproduire l'anomalie.

Se rendre sur : https://responsive.knowledgeplaces.com

Se connecter avec l'identifiant et le mot de passe : aweb01

C'est un site WordPress de test et c'est un compte abonné donc pas de problème.

Une fois connecté, vous verrez une page avec différents boutons qui sont utilisés pour des tests.

Par exemple, en cliquant sur le bouton “no lpId parameter”, un message d'erreur sera affiché.

Tous ces boutons déclenchent des appels AJAX sur mon site WordPress, et sur le serveur, je renvoie une chaîne JSON qui permet d'afficher un message d'erreur si une validation n'a pas été satisfaite.

Tous ces boutons fonctionnent bien et affichent bien un message d'erreur quel que soit le navigateur, y compris Firefox.

L'appel AJAX sur lequel j'ai un problème concerne le bouton “deconnexion” affiché en haut à droite de la page.

Quand vous cliquez sur ce bouton, vous êtes déconnecté de WordPress et vous revenez à la page d'accueil, ou la boîte de connexion s'affiche à nouveau.

Ce bouton "deconnexion" fonctionne bien sous Chrome et IE, vous pouvez le vérifier.

Mais il ne fonctionne pas sur Firefox. On revient bien à la page d'accueil mais on est pas déconnecté.

Voici comment cela est mis en oeuvre.

La page est chargée avec un fichier javascript qui contient le code suivant :

Code : Tout sélectionner

$("a[href='/kps_logout']").on('click', function() {
    // check href symbolic URL
    jQuery.post(
    WP_AJAX_URL,
            {
                'action': 'kps_logout',
                'security': $("#kpcms-ajax-nonce").val()
            }
        );
    // redirect and deactivate default navigation
    window.location.href = $kps_Host + $kps_LoginPath;
    return false;
});
Concrètement, j'utilise un lien symbolique ‘/kps_logout’, et ce code JQuery associe un traitement au clic sur tout élément avec ce lien.

Ce traitement utilise une requête AJAX pour déconnecter l'utilisateur puis redirige l'utilisateur vers la page d'accueil.

Sur le serveur, voici le code qui est exécuté à réception de la requête AJAX, et qui est dans le fichier “functions.php” de mon child theme WordPress :

Code : Tout sélectionner

add_action( 'wp_ajax_kps_logout', 'kps_logout' );
add_action( 'wp_ajax_nopriv_kps_logout', 'kps_logout' );
function kps_logout() {
    // security check
    check_ajax_referer( 'kpcms-ajax-nonce', 'security' );
    // logout user and die
    wp_logout();
    die ();
}
Sous Chrome et IE, quand j'active la trace réseau, je vois bien l'appel de la requête AJAX.

Mais sous Firefox, je ne le vois pas.

Du coup on revient bien à la page d'accueil mais on est pas déconnecté.

J'ai vidé mon cache Firefox mais ça n'a rien changé.

Donc si vous pouvez m'aider à résoudre ce problème, ce serait top.
Votre Navigateur : Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Avatar de l’utilisateur
Abraxas
Animal mythique
Messages : 10180
Inscription : 28 juil. 2011, 14:06

Re: requête AJAX vers WordPress OK sous Chrome et IE mais pas sous Firefox

Message par Abraxas »

C'est réglé non ? je viens de tester, je suis bien revenu à la page de login et les champs étaient vides (déconnecté donc).
Votre Navigateur : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 8 invités