Dans mon application CakePHP, je crée une variable de session dans un contrôleur, auquel j'ai besoin d'accéder dans un fichier ".js". Est-il possible de faire cela?Comment accéder à une variable de session dans un fichier .js dans CakePHP
Répondre
je suggère de les passer en tant que paramètres comme celui-ci -
<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">Click</a>
et ont la fonction JavaScript some_function()
au lieu de les affecter en ligne. De cette façon, vous pouvez avoir le fichier javascript gratuit du code côté serveur. C'est le moyen le plus propre. Je pense aussi que, du fait que les variables de session sont côté serveur, elles ne doivent pas être gérées directement dans le langage côté client à l'aide du code en ligne.
Vous devez générer dynamiquement votre fichier JS afin qu'il contienne la valeur souhaitée. Vous pouvez configurer votre serveur pour analyser .js
fichiers via PHP, ou vous pouvez simplement nommer le fichier JS .php
:
var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
est le mélange de code PHP en js bon à partir d'un point standard de codage? Ne vaut-il pas mieux séparer les fichiers js et passer les paramètres aux fonctions js si des valeurs côté serveur sont nécessaires au lieu de le faire? –
@sandeepan: Bien sûr, j'allais d'abord proposer un script en ligne, mais j'ai édité ma réponse uniquement parce que l'OP a mentionné un fichier .js. – casablanca
en utilisant $ _SESSION directement lorsque vous avez l'assistant de session n'est pas la meilleure pratique. l'utilisation de php pour pousser les actifs est pire, c'est un million de fois plus lent et ce qui se passe quand le navigateur le met en cache, ou vous allez le désactiver aussi. – dogmatic69
- 1. Comment accéder aux variables de session PHP depuis la fonction jQuery dans un fichier .js?
- 2. rails: accéder à une variable d'instance dans un fichier js.erb
- 3. Comment utiliser une variable JS dans JSON?
- 4. Comment accéder à la variable JS en C#
- 5. Comment accéder au fichier .js propriétaire dans Spring MVC?
- 6. Passer la variable dans cakePHP
- 7. Comment accéder à une session utilisateur dans sfDoctrineRoute avec symfony?
- 8. Comment accéder à la variable du serveur dans aspx?
- 9. Accéder à un fichier dans un projet
- 10. Envoyer XML dans une variable js
- 11. Comment accéder à une variable d'instance publique dans Objective C?
- 12. Définition d'une variable dans un fichier js, à partir d'un fichier php
- 13. CakePHP comment partager la session avec Vbulletin
- 14. Accéder à une variable globale dans une DLL
- 15. Comment accéder à la variable globale dans une vue dans Ruby on Rails?
- 16. Est-il possible d'envoyer une valeur d'une variable d'un fichier js dans un fichier php
- 17. Comment accéder à la session depuis une classe ActionMailer?
- 18. Ecrire quelques choses à une session CakePHP
- 19. cakephp - la variable de session reste étrangement active
- 20. passer une variable de rails dans une fonction js
- 21. Comment accéder à la variable de session codeigniter depuis un site externe
- 22. Envoyer XML dans une variable js à FusionCharts
- 23. Comment stocker une variable dans un fichier dans Matlab
- 24. Comment accéder au bean session dans EJB
- 25. Android - Charger un fichier .js externe dans un webview, puis accéder à ses fonctions?
- 26. comment stocker la valeur de la session dans une variable
- 27. comment télécharger le fichier vers un emplacement dans CakePHP
- 28. erreur dans la lecture de la variable de session dans cakephp
- 29. Variable dans le paramètre de configuration cakephp
- 30. accéder à une variable en utilisant un compteur dans le cadre du nom de la variable
Pourquoi exactement? Les variables de session sont conçues pour être * seulement * côté serveur. – strager
D'accord, les variables de session ou les variables côté serveur ne doivent pas être traitées/accédées directement dans le code côté client. Je me sens mieux de les passer comme je l'ai fait dans ma réponse –
strager, sandeepan: donc vous dites que lorsque je sauvegarde le nom des utilisateurs dans la session je ne suis pas autorisé à accéder à ce côté client de données? – dogmatic69