js对象的登录状态与仅服务器端会话相比
js object with logged in state vs just server-side session
使用来自服务器会话的重复数据的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.zip
请记住,您需要保持它们的同步,如果您希望它们在页面加载之间发生变化,则必须研究AJAX和json_decode。
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 将表单数据提交到服务器端
- 使用ajax的服务器端分页&jQuery
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 使用FormData上传AJAX图像;t在服务器端显示图像
- React路由器服务器端渲染和ajax获取数据
- 基于会话的服务器端数据设置和检索
- 从服务器端代码获取会话信息到客户端代码
- 当前会话的服务器端注销
- 在javascript或服务器端处理会话超时
- 在服务器上使用客户端(会话)id作为键的流星字典
- 处理Datatables中的会话超时(使用服务器端数据源处理)
- OAuth 2.0的方式授予权限在JS和使用服务器端,(无会话)
- 正在对Parse.com用户和会话服务器端进行身份验证
- js对象的登录状态与仅服务器端会话相比