javascript - 如何使用js获取会话的值
问题描述
我想知道用户是否已登录,然后根据用户名显示导航的不同元素(通过电子邮件和密码登录而不是用户名)。但是,我不知道如何处理会话。如果 php 和 html 在两个文档中分开,我如何在 php 文档中使用 session 存储所需的值,然后在 html 文档中使用 javascript 获取它们?或者我应该使用 cookie 代替吗?
解决方案
有几种方法可以做到这一点。
1)您可以制作一个 PHP 文件,它将格式化您的 $_SESSION 数据以及您想要的所有其他数据作为 JSON 字符串(json_encode
PHP 语言中的函数)。然后使用echo
返回它。然后使用 AJAX 请求从 javascript 或 JQuery 获取此文件,您将收到您想要的数据。从我的角度来看,这是一个糟糕的方法,因为在加载页面后,您发送另一个请求以接收静态数据,该数据不会像电子邮件或用户名那样在页面上更改。
2) 更好的方法:PHP 是预处理器超文本。您可以制作一个 php 文件并在其中写入 html 标签,并带有 php 输出(例如:)<div><?=$_SESSION['email']?></div>
。在 google 中搜索更多信息(“php inside html”)。
3) 好多了。在现代 Web 编程世界中,在 html 中使用 php 是一个错误,因为您不仅应该考虑如何使某些东西工作,还应该考虑在 3、6、12 个月后如何维护它。如果您在一个大项目中只在 html 中使用 php,那么随着时间的推移,您会意识到您的代码很难阅读并且看起来很丑陋。有些插件可以使您的视图更具可读性和可维护性(Twig、Blade、Volt等)。我建议您使用其中之一。
推荐阅读
- shell - netcat 返回命令的结果(连接发生时运行)
- git - 将 GIT 配置为 Jenkins Slave 而不是 Jenkins Master
- laravel - 如何读取模型的受保护 id 字段?
- elasticsearch - 弹性搜索 - 滚动行为
- ruby - 是否可以检查模块是否已包含在 RSpec 配置中?
- python-3.x - 将列表组合成一个网格参数
- r - 如何将 X 轴标签旋转 90 度(beanplot 包)?
- python - 将 Pytorch 4D 张量保存为图像
- go - 检查 json 是否在结构中具有除有效键之外的字段
- ios - 如何在顶部使用菜单创建分页?