我目前正在处理一个严重依赖 JavaScript 并使用 node.js 作为后端的聊天。我想在 JavaScript 中做尽可能多的事情(如果可能的话,甚至可能根本没有 PHP)。我遇到的问题之一是如何保持网站的状态。当用户单击联系人时,将从服务器获取通信内容。
您建议保存当前显示的联系人的 ID。锚?多变的?曲奇饼?
我目前正在处理一个严重依赖 JavaScript 并使用 node.js 作为后端的聊天。我想在 JavaScript 中做尽可能多的事情(如果可能的话,甚至可能根本没有 PHP)。我遇到的问题之一是如何保持网站的状态。当用户单击联系人时,将从服务器获取通信内容。
您建议保存当前显示的联系人的 ID。锚?多变的?曲奇饼?
Cookie 用于您的网站相对长期的使用,特别是当您希望保留一些为手边的用户定制的数据客户端(并且不会危及您的系统)时。因此,当他(或她)重新访问您的网站时,它将与他们离开时一样 - 无需您在数据库中存储不必要的每个用户数据。所以,从定义上看,这对 cookie 来说是不行的。
您的问题更多的是即时使用性质 - 您正在使用当前显示的联系人的 id,这可能最适合变量(来自提供的),甚至可能是 DOM - 正如 jfriend00 指出的那样。
而且,一条一般性建议是,一定要考虑标准的安全隐患和防御性代码。
快乐编码!
如果您只在页面期间需要此状态,则没有理由使用 cookie。Plus cookie 的大小和数量都有些限制。
因此,是否要将数据保存在 javascript 变量中,或者只是将其放入 DOM 并在需要时直接在 DOM 中访问它,这完全取决于您。我倾向于在 javascript 变量中保留高级别的东西,以便快速执行未来的任务,但如果数据在 DOM 中,我看不出有任何理由通过存储在 DOM 和 JS 变量中来复制大量数据。
但是,归根结底,这取决于它是什么类型的数据、已经存储在 DOM 中的数据、未来对所需数据的访问类型以及对它采取的操作。我们需要更多地了解您正在做的事情的细节,以便为您的具体情况提供更具体的建议。
在这 3 个选项之间,我建议将其存储在 variable中。原因如下:
id
到<a>
锚标记)虽然很常见,但会破坏干净的编码约定。正如我从经验中学到的那样,它会让你在路上头疼。使用变量或其他持久性数据存储(即localStorage
)是存储数据的更好方法。如果您正在寻找一种在 javascript 应用程序中组织数据和视图的好方法,请查看Backbone.js框架。