php json编码无法正常工作

时间:2016-01-17 16:28:56

标签: javascript php

我很难看到我的代码出了什么问题。即时通讯使用json编码将php值传递给javascript。

这是javascript代码 工作原理

<script type="text/javascript">
    function functiondecline() { 
        var signatoryidglobal = <?php echo json_encode($_SESSION['signatoryid']); ?>
        alert(signatoryidglobal);
    }
</script>

但是,如果我读取另一个会话的值,它将无法正常工作。为什么?即使警报也不会弹出。我甚至通过使用此代码检查会话是否有值

echo $_SESSION['Login_id'];

它有价值。

我甚至将javascript代码放在按钮上但它不起作用

<script type="text/javascript">
    function functiondecline() { 
        var signatoryidglobal = <?php echo json_encode($_SESSION['signatoryid']); ?>
        var login_id = <?php echo json_encode($_SESSION['signatoryid']); ?>
        alert(signatoryidglobal);
        alert(login_id);
    }
</script>
抱歉我的英语不好。

2 个答案:

答案 0 :(得分:0)

尝试在json_encode函数周围添加引号,而不是整个php块:

var signatoryidglobal = <?= "'".json_encode($_SESSION['signatoryid'])."';"; ?>

答案 1 :(得分:-1)

变量格式无效! 正确的是:

var test = 'string';

这样:

var signatoryidglobal = <?php echo json_encode($_SESSION['signatoryid']); ?>
var login_id = <?php echo json_encode($_SESSION['signatoryid']); ?>

更改为:

var signatoryidglobal = '<?php echo json_encode($_SESSION["signatoryid"]); ?>';
var login_id = '<?php echo json_encode($_SESSION["signatoryid"]); ?>';