作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
请忍受我的解释,这是必要的。
系统背景:
我正在为CMS的后端创建父/子导航系统。
我建立如下网址:[domain.ext]/[moduleName]/[objectName]/[actionName]/[ID #1]/[ID #2]
。
解释的网址(例如example.com/PageManagement/Page/Modify/7/13
):
$_SESSION
数组中,因此我可以在导航中确定是否必须使用其他父ID。被添加。
Page->Extension->Field
,它们都在
PageManagement
模块中,并且从左到右为父对象。现在假设我们有一个ID为2的页面,一个ID为8的扩展程序和一个ID为17的字段。用于编辑该字段的URL为
example.com/PageManagement/Field/Modify/8/17
,因为我们正在编辑以扩展名为8的父级的Field 17。用于编辑扩展程序的URL为
example.com/PageManagement/Extension/Modify/2/8
,因为我们正在编辑扩展程序8,其父级为Page 2。编辑页面将只是
example.com/PageManagement/Page/Modify/2
,因为它没有父项。
$_SESSION
,因此在一个选项卡中导航可以抛弃另一个选项卡的父历史记录。在
几乎是的所有情况下,它仍然正确,但事实是我可能会感到很糟糕(因为有人可以添加/删除/编辑数据而又不知道它们实际上位于错误的父列表中)。
Window.sessionStorage
中(为每个新窗口/选项卡重置)。如果尚未设置任何内容(因此是一个新标签),这将允许我生成一个,从而在每个页面 session 中存储(并记住)一个不同的内容。moduleName
之前的URL之前。最佳答案
您的请求设计中存在一个基本缺陷,正在引起您的所有麻烦。
系统应尽可能在单个请求中包括所有相关信息。在您的情况下,这意味着放弃在$_SESSION
中“记住”较早请求(状态)的机制,而是传递请求中的所有信息。它可以在URL(“地址”和/或查询字符串)中,适当时的 header (通常使用cookie,在这种情况下可能不合适)或正文(与POSTed表单传递有效内容的方式相同)中。
选择此路径有很多原因,仅举几例:
关于javascript - 跨多个选项卡的亲子导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140478/
如果我有类似 categoryA -> subcategoryA--> 书籍关系的 pojo。子类别 A 是父类别 A 的子类别。 book 是 subcategoryA 的 child 在这种情况下
我是一名优秀的程序员,十分优秀!