我在将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.我在这里缺少什么?
注意:为了清楚起见,在脚本中添加了几行代码。
答案 0 :(得分:1)
试试这个
<?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>