IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Session expired & ajax request


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut Session expired & ajax request
    Bonjour a tous,

    je suis confronte a un petit probleme et je n'arrive pas a trouver une solution...
    J'utilise de l'ajax pour diverses taches sur le site. tous les fichiers d'appel ajax contiennent quelque variables de session. Si la session est expirée, j'ai alors un message d'erreur qui s'affiche du type "Notice: Undefined index: nom_variable".
    selon mes recherches sur le net, j'ai trouvé cette solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //setup ajax error handling
        $.ajaxSetup({
            error: function (x, status, error) { alert("erreur");
                if (x.status == 403) {
                    alert("Sorry, your session has expired. Please login again to continue");
                    window.location.href ="/Account/Login";
                }
                else {
                    alert("An error occurred: " + status + "nError: " + error);
                }
            }
        });
    cité sur ce site: http://cypressnorth.com/programming/...g-with-jquery/
    je l'ai mise en place mais rien ne se passe!

    auriez vous une idee??

    Merci par avance

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Les événements AJAX : http://api.jquery.com/category/ajax/...vent-handlers/

    Je suggère d'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $( document ).ajaxError(function( event, jqxhr, settings, exception ){
        // votre code
    });
    Je recommande l'usage des méthodes simplifiées : http://api.jquery.com/category/ajax/shorthand-methods/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var jqXHR = $.get( url [, data ] [, dataType ] );
     
    jqXHR.done( function( data, textStatus, jqXHR ){
        // succès de la transaction, on doit traiter le contenu de data
        console.log( data, textStatus, jqXHR );
     
    });
     
    jqXHR.fail( function( jqXHR, textStatus, errorThrown ){
        // échec de la transaction, gérer la catastrophe
        console.log( jqXHR, textStatus, errorThrown );
     
    });
     
    jqXHR.always( function( jqXHR, textStatus ){
        // la transaction est terminée
        console.log( jqXHR, textStatus );
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    De toute façon, tu fais une erreur de conception : ce n'est pas parce que PHP affiche une erreur que la page renvoyée sera en 403... Une page affichant une erreur PHP est renvoie un status 200 !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    Bonjour et merci pour vos reponses.

    @danielhagnoul
    au fait j'utilise deja ajax mais pas avec les methodes simplifiées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $.ajax({
    	type: "POST",
    	url: "...",
    	data: form.serialize(),
    	done: function(res) {
    		...
    	}
    });
    je ne vois pas comment je peux utiliser ce que tu m'as envoyé avec le code que j'ai deja!!

    @Bovino
    est ce que cela veut dire que je dois renvoyer une erreur depuis le fichier php que je traite par la suite avec la fonction ajax??

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    On le remplace simplement par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    var jqXHR = $.post( "monFichier.php", form.serialize() );
     
    jqXHR.done( function( data, textStatus, jqXHR ){
     
        // succès de la transaction, on doit traiter le contenu de data
        console.log( data, textStatus, jqXHR );
     
    });
     
    jqXHR.fail( function( jqXHR, textStatus, errorThrown ){
     
        // échec de la transaction, gérer la catastrophe
        console.log( jqXHR, textStatus, errorThrown );
     
    });
     
    jqXHR.always( function( jqXHR, textStatus ){
     
        // la transaction est terminée
        console.log( jqXHR, textStatus );
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Par défaut
    On le remplace simplement par
    hehe, ca je l'avais bien compris je voulsia savoir s'il y a un equivalent du code que tu m'as envoyé avec la forme non courte de Ajax

    je teste de suite ce que tu m'as proposé et te tiens au courant.

    Merci

Discussions similaires

  1. [2.x] Call AJAX et Session expirée
    Par pc.bertineau dans le forum Symfony
    Réponses: 2
    Dernier message: 18/01/2012, 00h30
  2. AJAX + session expirée = redirection foireuse
    Par Tchupacabra dans le forum Langage
    Réponses: 4
    Dernier message: 03/06/2008, 10h02
  3. [AJAX] Ajax.Request et le caractère '+'
    Par jon301 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/11/2006, 21h34
  4. comment attraper session.expire()
    Par RolandB dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 01/08/2006, 16h49
  5. [Tomcat] session expirée redirection vers une page
    Par Casp dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 19/01/2006, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo