有一个 js 对象与服务器会话中的重复数据是否很常见?
例如,如果用户登录,我将此服务器端存储在我的$_SESSION
. 但是当我在客户端时,如果不检查 DOM 的某些部分(这很糟糕),或者发送一些 Ajax 调用来检查$_SESSION
. 我应该只创建一个包含重复数据的 js 对象吗?
似乎是个坏主意,因为现在我总是需要使两个对象保持同步,但我不确定如何解决这个问题。
有一个 js 对象与服务器会话中的重复数据是否很常见?
例如,如果用户登录,我将此服务器端存储在我的$_SESSION
. 但是当我在客户端时,如果不检查 DOM 的某些部分(这很糟糕),或者发送一些 Ajax 调用来检查$_SESSION
. 我应该只创建一个包含重复数据的 js 对象吗?
似乎是个坏主意,因为现在我总是需要使两个对象保持同步,但我不确定如何解决这个问题。
您可以在浏览器加载时将几行 Javascript 回显到浏览器中,或者在需要 $_SESSION 变量时提取一个单独的脚本。因此,您可以有一个文件“session.php”,其中仅包含以下行:
<?php
session_start();
echo json_encode($_SESSION);
?>
然后你可以在你的 Javascript/HTML 中使用它(这样你就不必做花哨的 AJAX 或任何东西):
var session = <?php include('session.php'); ?>
我在这里建立了一个实时示例:http: //home.edgemontgeek.com/dev/stackoverflow/14919887/ 可在此处下载代码:http: //home.edgemontgeek.com/dev/stackoverflow/14919887/code 。压缩
请记住,您需要使它们保持同步,如果您希望它们在页面加载之间进行更改,则必须查看 AJAX 和 json_decode。