javascript - ExpressJS 渲染子域的问题
问题描述
我正在写商店,但渲染有问题。
我想要子域 /category 并且它正在工作只是找到像 tis 这样的路由
const CategoryOne = ((req, res) =>{
res.render('shop/category');
});
router.get('/category', CategoryOne);
这很完美,但是当我继续使用子域类别/鞋子时,我想使用参数鞋子在/类别上重定向
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/images/logo.png
)而不是相对路径(例如assets/images/logo.png
.
您可以在此处阅读有关相对和绝对路径的更多信息
推荐阅读
- salesforce - Slack 与 Salesforce 的集成
- amazon-web-services - AWS Route 53 故障转移策略与 DNS 缓存
- android - 我想知道如何在约束布局中自动调整 textview 的大小
- .net - Gitlab 将 .Net Framework Publish 文件夹添加到工件
- flutter - uri.parse('https://www.a2rstore.in/api/school/v1/noticeApi.php?id=${widget.s_id}'); widget.s_id 出错
- ios - 使用 Intune MDM 阻止特定应用中的屏幕截图?
- javascript - 如何从自定义日期时间运行计时器?
- java - sessionFactory.getCurrentSession() 更新没有更新我在 java hql 中的 oracle 表
- javascript - 在 Chrome 上使用 onsearch 但在不支持的浏览器上使用 onsubmit?
- azure - 在 azure api 管理中使用身份验证管理身份标记时不完整的不记名令牌