2012-03-23 3 views
-4

Как получить доступ к переменным сеанса codeigniter внутри javascript? Если я создаю переменную сессии внутри простого php и получаю ее в javascript, это дает мне результат, но в случае переменных sessionigniter session это дает мне синтаксическую ошибку.Доступ к переменным сеанса codeigniter внутри javascript

Я использую следующий код линии для доступа к переменному CodeIgniter сеанса в моем .js файла

var m1 = "<?php echo json_encode($this->session->userdata('max_age')); ?>"; 
+2

Это выглядит правильно для меня. В чем проблема? –

+0

Это дает мне синтаксическую ошибку на следующей строке –

+3

Ошибка на следующей строке? Итак, что в следующей строке? –

ответ

4

«Я использую следующий код для доступа к линии CodeIgniter переменной сессии в мои .js файл "


Вы не можете поместить PHP код внутри .js фил е. Он не будет разбираться. Вы должны поместить свой код в файл PHP, из которого вызывается ваш .js-файл.

Например:

<script type="text/javascript"> 
var m1 = <?php echo json_encode($this->session->userdata('max_age')); ?>; 
</script> 
<script type="text/javascript" src="script.js"></script> 
0

Как я уже говорил в предыдущих комментариях, проблема, скорее всего, вызвана пустой PHP эхо-вывода. Вы заявили выше, что у вас нет котировок вокруг вашего отчета echo. Так что в вашем коде это выглядит следующим образом:

var m1 = <?php echo json_encode($this->session->userdata('max_age')); ?>; 

Это может быть проблемой, если переменная PHP $this->session->userdata('max_age') пуста. Потому что, если это так, json_encode выводит пустую строку. Пожалуйста, сделайте «View Source» в вашем браузере и посмотреть, если эта строка выглядит следующим образом:

var m1 = ; 

Если это произойдет, вы нашли проблему. Вышеуказанное неверно и приведет к синтаксической ошибке.

Смежные вопросы