Как получить доступ к переменной сеанса в файле .js в CakePHP - PullRequest
0 голосов
/ 20 ноября 2010

В моем приложении CakePHP я создаю переменную сеанса в некотором контроллере, к которому мне нужно получить доступ в файле ".js".Есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 20 ноября 2010

Я бы предложил передать их в виде параметров, подобных этому -

<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">Click</a>

и функция javascript some_function() обрабатывает ее, а не присваивает их в строку. Таким образом, вы можете получить файл javascript, свободный от кода на стороне сервера. Это самый чистый способ.

Мне тоже кажется, что, поскольку переменные сеанса находятся на стороне сервера, они не должны обрабатываться напрямую на языке клиента через встроенный код.

1 голос
/ 20 ноября 2010

Вам необходимо динамически сгенерировать файл JS, чтобы он содержал требуемое значение. Вы можете настроить свой сервер на синтаксический анализ .js файлов через PHP или просто назвать JS-файл .php:

var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...