【发布时间】:2020-08-27 12:24:09
【问题描述】:
我对 NodeJS 很陌生,我正在编写一个分页脚本来显示数据库数据。使用表单按钮导航到下一个结果,因为这是我使用 Node.js 进行按钮交互的唯一方法。我知道这不是最佳实践,但足以满足我现在的需求:) 但是,当用户单击下一个/上一个按钮时,确实会调用发布请求但始终返回 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
【问题讨论】:
-
使用
get_products(例如res.send或res.render)获得产品后重定向调用在哪里? -
啊,这可能是问题所在。明天我会研究一下,谢谢@montrealist
-
恕我直言,您应该使用 GET 和一些参数,而不是 POST。查找 RESTful API。我认为是 POST 处理导致服务器抛出一个额外的错误,因为它不知道如何处理它。