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

JavaScript Discussion :

javascript, session et asp


Sujet :

JavaScript

  1. #1
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut javascript, session et asp
    Bonjour,

    Je travaille sur une page en ASP dans laquelle j'utilise du javascript.
    Dans mon code, j'ai besoin de récupérer des valeurs en session.
    Après quelques recherches sur le net, j'ai trouvé la solution qui suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return '<%=session("nom_valeur") %>';
    Ca fonctionne sans problème, mais .... je voudrais faire la chose suivante:

    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
     
     
        function Session(){    
        }
     
        Session.prototype = {
     
            valeur : function(nom){
                return '<%=session("' + nom + '") %>';
            },
     
        }
     
        var session = new Session();
        alert(session.valeur("nom_valeur");
    Ca ne plante pas mais ça me renvoie une chaîne vide.

    Question: est-ce que cette syntaxe est possible ou dois-je en passer par autant de fonction que de valeur à récupérer en session ?

    Papy !

  2. #2
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Hello

    Citation Envoyé par Papy214 Voir le message
    function Session(){
    }

    Session.prototype = {

    valeur : function(nom){
    return '<%=session("' + nom + '") %>';
    },

    }

    var session = new Session();
    alert(session.valeur("nom_valeur");
    à mon humble avis, pour créer ton prototype de fonction, essaie plutot cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function Session() {
    }
     
    Session.prototype.valeur = function(nom){
           return '<%=session("' + nom + '") %>';
    }
    (exemple dérivé de ce lien)

    Cependant, hormis ce "problème" de syntaxe (ce n'en est peut-etre pas un, mais je préfere cette notation ,
    ta fonction ne va pas marcher: tu veux mélanger un appel client avec un appel serveur.

    Pour faire cela, il te faudra soit utiliser la techno AJAX, soit créer avec ASP(donc le code généré par le serveur) un tableau associatif javascript qui contiendra comme clé les noms possibles et comme valeur tes variables de session associées;ainsi tu pourras via ta fonction aller chercher l'item du tableau qui t'intéresse.

    bye
    Nico

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Je sais qu'il est bizarre de mélanger client et server, mais en attendant, si j'utilise la syntaxe complète, ça fonctionne très bien. Si je "prototype" comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            magasin : function(){
                return '<%=session("magasin") %>';
            },
    Il n'y a aucun problème, ça me renvoie la valeur recherchée.
    C'est juste l'utilisation de la concaténation de chaîne qui pose problème.

    Et pour la syntaxe que tu préfères, pourquoi pas ... J'avoue n'avoir aucune préférence dans ce domaine

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    Je sais qu'il est bizarre de mélanger client et server, mais en attendant, si j'utilise la syntaxe complète, ça fonctionne très bien. Si je "prototype" comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            magasin : function(){
                return '<%=session("magasin") %>';
            },
    Il n'y a aucun problème, ça me renvoie la valeur recherchée.
    C'est juste l'utilisation de la concaténation de chaîne qui pose problème.

    Et pour la syntaxe que tu préfères, pourquoi pas ... J'avoue n'avoir aucune préférence dans ce domaine

    petite précision: le code fonctionne si il se trouve dans la page asp.
    Dans un fichier js à part, ça ne fonctionne plus.

  5. #5
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Hello

    Citation Envoyé par Papy214 Voir le message
    Il n'y a aucun problème, ça me renvoie la valeur recherchée.
    pour le prototypage, je te crois sur parole, d'où mon
    Cependant, hormis ce "problème" de syntaxe (ce n'en est peut-etre pas un, mais je préfere cette notation ,


    Concernant le mélange des technos, aucun problème, je le fais régulièrement... HORMIS qu'ici tu veux récupérer plusieurs variables de session, alors que dans ta fonction une valeur UNIQUE est ajoutée par ASP "en dur dans le code", au moment de la création de la page. Du coup je répete: ta fonction ne peut pas marcher telle qu'elle, en utilisant ton parametre nom;


    Reprenons ton exemple

    magasin : function(){
    return '<%=session("magasin") %>';
    },
    ici ta variable <%=session("magasin") %> est transformée par ASP en sa valeur lors de la création de la page par le serveur; pour vérifier cela, tu peux regarder le code source de ta page;

    Ainsi, si tu fais
    mafonction : function(nom){
    return '<%=session("'+nom+'") %>';
    },
    ta valeur <%=session("'+nom+'") %> ne sera pas comprise par le serveur car
    '+nom+' n'est pas une clé de variable de session que ton serveur connait au chargement de la page, et donc la valeur associée n'existant pas, il renverra une chaine vide;

    Du même coup, le code généré (que tu peux vérifier dans le code source de ta page), sera probablement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mafonction : function(nom){
                return '';
            },

    ceci explique cela... j'espère avoir été plus clair

    bye
    nico

  6. #6
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    petite précision: le code fonctionne si il se trouve dans la page asp.
    Dans un fichier js à part, ça ne fonctionne plus.
    normal, dans ce cas, le code JS est passé en réference, et n'est pas modifié par le serveur, donc tes variables ne sont pas transformées.

    Bye
    Nico

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Salut,
    ASP génère le JavaScript, le navigateur exécute le JavaScript. Voir le lien dans ma signature (c’est pareil en ASP).

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  8. #8
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 527
    Par défaut
    D'accord, je comprends mieux le "pourquoi du comment" ...

    Et bien, tant pis pour mon objet générique ...

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant][2.0][javascript]récupere un asp:label par id dans javascript
    Par goussepi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2006, 12h38
  2. problème de session avec asp
    Par salmer dans le forum ASP
    Réponses: 13
    Dernier message: 17/05/2006, 09h46
  3. Probleme avec les variables de session en ASP
    Par alhc2666 dans le forum ASP
    Réponses: 1
    Dernier message: 07/03/2006, 16h19
  4. les sessions en asp
    Par christel1982 dans le forum ASP
    Réponses: 2
    Dernier message: 30/11/2005, 08h40
  5. Conflit entre javascript et script ASP
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h28

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