我在Express.js中有一个项目,ESJ和mongodb由几个页面组成(不超过3个)。所有页面的结构都相同:
导航区域中的信息必须来自mongodb集合(比如“类别”),因此导航是查询“类别”集合的结果。此外,在同一页面上,主区域必须显示来自同一数据库的另一个集合的查询结果(让我们称之为“产品”)。
我的问题是:如何保持相同的导航,使用最后一个选择,并在从一个页面转到另一个页面时更改主要信息,所有这些都在同一页面中?
答案 0 :(得分:0)
你所要求的“所有在同一页面上”意味着两页之间没有重新加载。
有多种方法可以获得此功能,具体取决于数据的重量和偏好。我在答案中假设你知道Express.JS,EJS和MongoDB。
你可以使用AJAX,但是你需要一些客户端的javascript代码(为了简化这一点,你可以使用像jQuery或类似的js框架)。在这种情况下,我建议您在浏览器中使用EJS并对Express.js执行异步JSON调用。
否则,如果您的主区数据足够轻,您可以拥有一页滚动网站。您的导航区域将是使用html锚点的链接佣人。您可以在服务器端使用EJS。 Express.js中只有一条路线适用于您的所有网站。