如何将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

回到顶部