【发布时间】:2017-12-12 07:55:35
【问题描述】:
我正在使用 KeystoneJS 做一个电子商务网站(学习目的)。在显示所有产品的视图中,我想添加一个过滤器以按价格对项目进行排序,另一个过滤器仅显示一个品牌的产品。需要两份表格,但我不能只提交一份
我的 products.pug 看起来像这样
.container
form(method='post')
input(type='hidden', name='action', value='products')
button(type='submit').btn.btn-primary Send
我在 routes/views/ 中的 products.js 看起来像这样
[...]
// Print a word when submit the form
view.on('post', { action: 'products' }, function(next) {
console.log('POST')
next()
})
// Get all products from db
view.on('init'...)
// Render
view.render('products')
所以基本上我想做的是在我点击视图中的按钮时打印 POST 。相反,我收到一个 404 错误页面。如果你们能帮助我,我将不胜感激
【问题讨论】:
-
我应该补充一点,如果我将表单中的方法和事件中的动词更改为 GET 并删除第二个参数,它会打印单词。为什么它不适用于方法 post?
-
这看起来是正确的。您是否尝试将表单方法设为
POST而不是post? -
是的,而且一直出错。我选择使用方法 GET 并将所有内容放在一种形式中,但我真的很想解决这个问题,因为正如你所说,这似乎是正确的
标签: javascript node.js pug keystonejs