Mic*_*ael 1 javascript php session jquery
我有一个加载会话变量的PHP页面:
$user_id = $_SESSION['USER_ID'];
Run Code Online (Sandbox Code Playgroud)
以前,我在该页面中包含了我的Javascript/jQuery,并添加<? echo $user_id; ?>了设置Javascript变量:
$(document).ready(function() {
$(".button").click(function() {
var user_id = <? echo $user_id; ?>
var dataString = 'user_id=' + user_id;
$.ajax({
type: "POST",
url: "../add_user.php",
data: dataString,
});
return false
});
});
Run Code Online (Sandbox Code Playgroud)
但是,我想将我的Javascript移动到一个单独的页面并从我的PHP页面调用脚本:
<script src="add_user.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我就不能再使用了<? echo $user_id; ?>,那么将我的PHP变量传递给Javascript/jQuery函数的最佳方法是什么?
您可以将Web服务器配置为将.js文件视为PHP脚本,这样您就可以从.js文件中执行PHP代码.
但是,如果这是不可接受的,您可以随时执行以下操作:
<script type="text/javascript">var user_id = <?php echo json_encode($user_id) ?>;</script>
<script type="text/javascript" src="add_user.js"></script>
Run Code Online (Sandbox Code Playgroud)
在PHP脚本级别定义变量,然后像往常一样包含外部.js.
如果$ user_id总是数字,那么json_encode()位是矫枉过正,但我已经养成了在我动态生成JS代码的任何地方使用它的习惯.使用json_encode可以保证您插入一个语法正确的JS片段.
| 归档时间: |
|
| 查看次数: |
17331 次 |
| 最近记录: |