Node.js NodeJS Express post请求总是返回404页面,但它确实返回正确的页面
我是NodeJS的新手,我正在编写一个分页脚本来显示数据库数据。为了导航到下一个结果,我使用表单按钮,因为这是我使用节点实现按钮交互的唯一方法。我知道这不是最佳实践,但它现在已经足够满足我的需要:)然而,当用户单击下一步/上一步按钮时,post请求确实会被调用,但总是返回404页,而如果我复制该确切返回页并将其加载到我自己中,则页面加载良好 员额职能:Node.js NodeJS Express post请求总是返回404页面,但它确实返回正确的页面,node.js,express,Node.js,Express,我是NodeJS的新手,我正在编写一个分页脚本来显示数据库数据。为了导航到下一个结果,我使用表单按钮,因为这是我使用节点实现按钮交互的唯一方法。我知道这不是最佳实践,但它现在已经足够满足我的需要:)然而,当用户单击下一步/上一步按钮时,post请求确实会被调用,但总是返回404页,而如果我复制该确切返回页并将其加载到我自己中,则页面加载良好 员额职能: if(req.body.next){ console.log(req.body.next) start += 100;
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
@蒙现实主义者的评论回答了我的问题。我不得不在post调用中添加一个
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
})
}
});
使用
get_products
(例如res.send
或res.render
)获取产品后,重定向调用在哪里?啊,这可能是问题所在。我明天会研究它,谢谢@monttimho,你应该使用GET和一些参数,而不是POST。查找RESTful API。我认为是后期处理导致服务器抛出一个额外的错误,因为它不知道如何处理它。