在此网站上,每个页面都由多个.jsp文件组成。有一个主页面包含大部分页面内容,但导航由nav.jsp处理,顶部标题部分由top-section.jsp,footer.jsp等处理。
页面的内容由通过json从中间件服务器检索的数据填充。对于主页面(即包含大量页面特定数据的页面部分),数据由ajax调用检索,该调用使用登录的用户ID来获取所需内容。
我的问题是,如何在top-section.jsp中包含一些检索到的数据。这个页面很简单(我在这里使用的是硬编码数据,但实际上这些数据应该是登录用户特有的):
<div id="userinfo">Harald Niven | <a href="nivenhelp?id=12345">Help</a></div>
这一点包含在每个页面中,所以我想获取名称(“Harald Niven”和帮助URL)一次,然后在网站的每个页面上使用它。假设与中间件的通信是通过返回json的ajax调用,那么最好的方法是什么?
当我为每个页面加载数据很简单时,我有一个自定义js文件用于抓取所需数据的页面,但是,这个顶部部分永远不会改变,因此执行ajax请求并解析响应似乎很浪费每次...... 如何抓住这一次并在用户登录的整个过程中坚持下去?
编辑:会话/ cookie由于此应用程序的要求而无法使用,我无法写入数据库...只能以非常有限的方式从中读取(前端人员访问数据库的任何请求都需要巨大的如果我可以避免走这条路,我想要痛苦的批准和解释。
答案 0 :(得分:1)
@ rg88,
您需要实施会话管理,理想情况是在所有网站中,人们使用不同的数据库来跟踪用户。
因此,您需要将跟踪数据库中json对象的session用户登录信息与sessionID一起存储。
否则,如果你想采用简单的方法,你可以将它存储在cookie中,这不是一个好习惯。