我对NodeJS来说还很陌生,我正在编写一个分页脚本来显示数据库数据。要使用表单按钮导航到下一个结果,因为这是我与Node进行按钮交互的唯一方法。我知道这不是最佳做法,但现在足以满足我的需求:)但是,当用户单击下一个/上一个按钮时,确实会调用发帖请求,但总是返回404页面,而如果我复制该页面,返回页面并将其加载到我自己中,页面加载正常。
发布功能:
if(req.body.next){
console.log(req.body.next)
start += 100;
console.log(start);
get_products(start);
}
if(start >= 0 && req.body.prev){
console.log(req.body.prev)
start -= 100;
console.log(start);
get_products(start);
}
});
帕格形式:
form(method = 'POST', action="/products")
button(type='submit', name='prev', value='prev') previous
button(type='submit', name='next', value='next') next
帖子的输出:
next
100
POST /products - - ms - -
prev
0
POST /products - - ms - -
next
100
POST /products - - ms - -
next
200
POST /products - - ms - -
next
300
POST /products - - ms - -
next
400
POST /products - - ms - -
prev
300
答案 0 :(得分:0)
@montrealist的评论回答了我的问题。我必须在我的帖子调用中添加res.render
,以使该函数刷新页面。
更新的帖子通话:
router.post('/', function(req, res, next) {
if(req.body.next){
start += 100;
get_products(start);
res.render('products' , {
title:"All products from index: " + (start - 99).toString(),
products:products
})
}
if(start >= 0 && req.body.prev){
start -= 100;
get_products(start);
res.render('products' , {
title:"All products from index: " + (start + 101).toString(),
products:products
})
}
});