gpt4 book ai didi

javascript - 在 express node js 中实现一个简单的搜索栏

转载 作者:行者123 更新时间:2023-11-30 14:48:04 27 4
gpt4 key购买 nike

所以我尝试实现一个简单的搜索功能来练习,

我的目标是使用 url“/search/(此处为参数)”并获取名称与参数匹配的产品。

这是我的中间件:

router.get('/search/:title', function(req, res, next) {
var title = req.params.title;
Product.find({title: title}, function (err, products) {
if(err) {
res.render('shop/search', {products: null});
}
res.render('shop/search', {products: products});
next();
});
});

我不知道为什么,但它给了我错误:

Error: Can't set headers after they are sent.

我不明白为什么我会收到这个消息,它说我正在更改标题,我是新手,我不确定在哪里更改标题?

最佳答案

在向客户端呈现响应后,您不能调用下一个中间件(即 next() ),您应该将其删除,也可以使用 return 语句来停止执行的剩余代码,这是正确的语法:

router.get('/search/:title', function(req, res, next) {
var title = req.params.title;
Product.find({title: title}, function (err, products) {
if(err) {
return res.render('shop/search', {products: null});
^^^^^^
}
res.render('shop/search', {products: products});
});
});

关于javascript - 在 express node js 中实现一个简单的搜索栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48589441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com