我在将一个PHP变量调用到一个jQuery脚本时遇到了一些小问题。基本上,我运行几个函数来确定用户是否登录,如果是的话,将其存储为$loggedin=1。如果页面上的人没有登录,当单击按钮时,我希望提示他们登录(显然,在任何数据处理之前,我仍然会确保用户在服务器端登录)。我四处搜索,发现将这些信息传递给jQuery的最简单方法是将脚本创建为PHP文件,以便将其回显到脚本中。下面是我使用的高级代码:
调用脚本:
<?php
$loggedIn = 1;
<script src="../buttonScript.php"></script>
?>
剧本:
<?php header("Content-type: application/javascript"); ?>
var buttonScript = function(){
var loggedIn = <?php if($loggedIn===1){echo "1";}else{echo "0";} ?>;
$("#button").click(function(){
alert(loggedIn);
});
};
$(document).ready(buttonScript);
当我在$loggedIn等于1的情况下单击该按钮时,警报将给我0。实际上,如果我只是在脚本本身中回显$loggedIn,那么这个值就完全是空的,脚本就会出错,根本不会弹出警报。我确信PHP变量$loggedIn实际上有一个变量,因为如果我在调用脚本之前回显变量,我成功地看到了数字1。这里缺少什么?
注意:为了清晰起见,在脚本中添加了几行代码。
发布于 2014-09-15 20:57:43
尝尝这个
<?php
$loggedIn = 1;
require("/path/buttonScript.php");
?>
buttonScript.php
<script type="text/javascript">
var buttonScript = function(){
var loggedIn = <?php echo $loggedIn; ?>;
$("#button").click(function(){
alert(loggedIn);
});
};
$(document).ready(buttonScript);
</script>
https://stackoverflow.com/questions/25860554
复制