如何在node.js中搜索
How do i search in node.js?
我使用mongoastic,它运行良好,但我面临的问题是,如何从.post
方法中获取对象并将其传递给.get
方法?
例如:
router.post('/search', function(req, res, next) {
Product.search({ something: 'Something'}, function(err, result) {
if (err) return next(err);
res.redirect('/search') // <--- How do i pass the result object?
});
});
router.get('/search', function(req, res, next) {
res.render('search');
});
我尝试了另一种使用req.flash
的方法,但我并不喜欢这种方法。
你们是怎么解决这个问题的?这是一个非常基本的搜索,用户搜索后,它会将用户重定向到另一个页面,在那里它会显示找到的结果或没有找到。
您不需要使用GET将用户重定向到另一个路由来发送响应。
您可以在.post
中提供请求,这是完全可以接受的。
CCD_ 5和CCD_ 6是HTTP请求的两种形式。无论web服务器收到什么类型的请求,响应都可以是任何内容。它可以是重定向,也可以是实际的网页,或者其他类型的东西,比如错误。
我认为你不需要这个,但为了完整,对于搜索页面来说,这可能是一个不同的场景。GET请求可以在浏览器中添加书签,因为重新呈现页面所需的只是URL。但是POST请求不可能,因为它还需要请求正文中的POST参数。如果您想让用户为带有结果的页面添加书签,或者拥有指向带有结果的同一页面的永久链接,那么您也可以在GET请求中提供请求。例如,在URL中添加一个像?q=search-term
这样的额外参数。。。
这是一种通过GET请求发送参数的方式。/search
路由也将捕获/search?q=search-term
URL。您可以使用req.query.q
访问它,它的值为"search-term"
(有关更多信息,请参阅此问题)。因此,您可以修改表单以发送GET请求而不是POST(<form action="get">...
),也可以使用GET将用户重定向回搜索页面,并沿URL传递参数。最后在GET请求中提供所有搜索结果。
但同样,这是更高级的东西,对于您需要做的事情,一般来说,无论是POST、GET还是其他什么,都可以为请求提供服务。
- JS的搜索功能
- 如何设置“;search_type”;在弹性搜索js
- 在Knockout JS中搜索从DB加载数据的项目
- 如何在单击按钮时使用instantsearch.js启动搜索
- 如何从Chosen JS中删除搜索框
- 通过JS/AAJAX在XML文件中搜索1个数据
- Angular JS根据搜索结果和点击事件更新DOM元素
- JS在input标签上使用keyup事件进行搜索
- 在Sinatra(ruby)中实现JS模糊搜索
- 更改阿尔戈利亚即时搜索.js统计模板
- ldap.js :嵌套搜索
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 在js中的表中搜索不起作用
- 使用JS和Keyup在Rails4中进行实时搜索
- 搜索JS文件您're表示字符串
- 弹性搜索 JS 函数返回值
- Youtube搜索js功能
- 搜索js图像裁剪插件,无需jquery
- 搜索JS对象的值
- 从数组索引搜索 JS 创建的未定义变量