2012-03-23 3 views
-4

javascript内のcodeigniterセッション変数にアクセスする方法は?プレーンなPHPの中でセッション変数を作成してjavascriptでアクセスすると結果は得られますが、codeigniterのセッション変数の場合は構文エラーが出ます。javascript内でcodeigniterセッション変数にアクセスする

私は私の.jsにCodeIgniterのセッション変数にアクセスするには、行の次のコードを使用し、私は私のの.jsが ファイル にCodeIgniterのセッション変数にアクセスするには、行の次のコードを使用

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

それは私に正しいように見えます。どうしたの? –

+0

次の行に構文エラーが表示される –

+3

次の行にエラーがありますか?では、次の行には何がありますか? –

答えて

4

」を提出「


あなたの.jsフィル内のPHPコードを置くことができませんe。それは解析されません。 .jsファイルが呼び出されているPHPファイルにコードを記述する必要があります。例えば

<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は空文字列を出力します。お使いのブラウザで「ソースの表示」を行うと、その行は次のように見える場合を見てください:

var m1 = ; 

をそれがない場合、あなたはあなたの問題を発見しました。上記は無効で、構文エラーが発生します。

関連する問題