如何将PHP会话变量传递给Javascript/jQuery函数?
我有一个加载会话变量PHP页面:如何将PHP会话变量传递给Javascript/jQuery函数?
$user_id = $_SESSION['USER_ID'];
以前,我在该网页中包含我的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
});
});
然而,我想把我的Javascript移动到一个单独的页面,并从我的PHP页面调用脚本:
<script src="add_user.js" type="text/javascript"></script>
如果我这样做,我不能更长的用户<? echo $user_id; ?>
,那么将我的PHP变量传递给Javascript/jQuery函数的最佳方式是什么?
回答:
<script> var user_id = <?php echo $user_id; ?>
</script>
<script src="add_user.js" type="text/javascript"></script>
现在您可以在您的add_user.js
文件中使用user_id
。另外,我会建议against using PHP short tags。
回答:
您可以配置您的网络服务器,将.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>
在你的PHP脚本的级别上定义的变量,然后包括外部的.js如常。
如果$ user_id始终是数字,那么json_encode()位是过度杀毒,但我已经养成了使用该动态生成JS代码的习惯。使用json_encode保证你插入一个语法正确的JS代码片段。
回答:
只需在另一边开始会话。考虑到JS数据可能被破坏,甚至故意并可能被利用(安全),它也更安全。
开始会话后 - 在那里读取数值。
当然,这对同一虚拟主机上的脚本有效。
回答:
您仍然能够引用您的varible在外部JS文件
<script type="text/javascript"> var yourvar = <? echo $user_id; ?>;
</script>
<script src="add_user.js" type="text/javascript"></script>
以上是 如何将PHP会话变量传递给Javascript/jQuery函数? 的全部内容, 来源链接: utcz.com/qa/262660.html