javascript - 渲染子域的 ExpressJS 问题

标签 javascript html node.js express web-deployment

我正在写商店,但我遇到了渲染问题。

我想要有子域/类别,它正在工作,只是找到像 tis 这样的路由

const CategoryOne = ((req, res) =>{ res.render('商店/类别'); }); router.get('/category', CategoryOne);

这是完美的,但是当我进入子域 category/shoes 时,我想使用参数 shoes 重定向到/category

const Category = ((req, res) =>{
  const categoryPass = req.params.category;
  res.render('shop/category', {
    category: categoryPass 
  });
});
router.get('/category/:category', Category);

它不起作用,我应该重定向吗?当我这样做的时候

res.redirect('/category')

然后我没有类别参数

编辑: 到目前为止我做了什么:

const CategoryOne = ((req, res) =>{
const passedCategory = req.session.categorypassed;
req.session.categorypassed = undefined;
console.log(passedCategory);
Product.find((err, response) => {
res.render('shop/category', {
  title: 'Test', products: response, category: passedCategory
});
});

});

const Category = ((req, res) =>{
  req.session.categorypassed = req.params.category;
  res.redirect('/category');
});

问题是,当我刷新页面时我没有这个参数,有什么办法可以保存它吗?

最佳答案

处理这个问题的更好方法是为您的 Assets 使用中央公共(public)目录并使用绝对路径请求它们,例如/assets/images/logo.png,而不是相对路径,例如assets/images/logo.png

您可以阅读更多关于相对和绝对路径的信息 here

关于javascript - 渲染子域的 ExpressJS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966010/

相关文章:

javascript - 为什么 AngularJS 在谷歌地图中显示标记而不是路线?

javascript - 从状态创建选择选项,除非单击,否则不会更新表单 json

javascript - 如何使用 .hover() jQuery 显示不同的图像

javascript - 如何检查一个 HTML 元素是否包含另一个元素?

javascript - PHP select from 语句when,不起作用

node.js - Readline 输出到文件 Node.js

javascript - 有没有好的方法来调试失败的 promise ?

javascript - 如何使 Codeschools 的 Angular 边看起来相似?

javascript - 安装 Node.js

node.js - 使用数据填充 TingoDB 以进行验收测试