我有一个分类列表,当用户单击分类列表时,会将它们带到详细信息页面。我只想要网址中的子弹,即:
我能够执行此操作,但问题是产品名称不是唯一的,因为某个时刻可能有多个用户想要添加“红色袋子”。所以,我所做的就是使用ID和子弹,例如:
https://someshop.com/4d35c2fcef9b6c17167ff53y/red-bag
但这看起来并不特别好。有没有办法仍然对照ID进行检查,但实际上并未在URL中显示它?
html href:
<a href="/products/<%= product._id %>/<%= product.titleSlug %>" class="listing-item-container">
路由器:
router.get('/products/:productId/:titleSlug', shopController.getProductDetail);
控制器:
exports.getProductDetail = (req, res, next) => {
const titleSlug = req.params.titleSlug;
const productId = req.params.productId;
Product.findOne({titleSlug: titleSlug, _id: productId})
.then(product => {
res.render('shop/product-detail', {
pageTitle: 'Product detail',
path: '/products',
product: product
});
})
.catch(err => {
console.log(err);
});
};
答案 0 :(得分:1)
我想说,最好的选择是根据从用户收到的<div class="col-6 info-left">
<h1>Warentykowe Prezenty</h1>
<span class="small-text">Od serce kafetrii</span>
<p>
Posłuchaj Serca Kafeterii i w Walentynki podaruj bliskiej osobie więcej miłosci ! Przygotowalismy zestawienie prezentowych bestsellerów dla niej, dla niego dla Was i... dla Ciebie - miłość nie jedno ma imię, zastanawiałes się już kogo obdarujesz w tym
roku
</p>
</div>
字符串并使用您选择的Slug库来控制服务器端的Slug。然后,您可以检查现有条目,并确保您的块是唯一的-在最坏的情况下,您只需向其中添加一些内容即可:您可以使用title
,/red-bag
等。仍然比UUID好。