我正在制作一个网页,该网页使用表单将用户投票提交给使用节点的 mongo 数据库。虽然下面的代码成功地修改了数据库,但它会在 chrome dev-tools 中导致挂起状态操作。这会阻止所有 js 运行,并且几分钟后浏览器会重定向到(不存在的)/v/foo。当使用 'post' 而不是 'get' 作为方法时,也会出现此问题。
index.jade:
form(method= 'get', action= '/v/foo')
button.vote(type= 'submit')
应用程序.js: app.get('/v/:postID', home.vote);
主页.js:
exports.vote = function(req, res){
// gets postID from the URL
postID = req.params.postID;
// gets logged-in user
user = req.session.username;
// sends postID, retrieves a post with ID postID
postdb.findPost(postID, function(post){
// readPost(postID, function(post){
// increments the 'votes' property of the comment by 1
titles.update({postID: postID}, {$inc: {ups: 1}}, function(err){
if (err) throw err;
});
// code that calculates current post level and progress goes here (works fine)
// updates level and level progress
titles.update({postID: postID}, {$set: {level: level, lvlProg: lvlProg}}, function(err){
if (err) throw err;
});
accounts.update({username: user}, {$push: {votedPosts: postID}}, function(err){
if (err) throw err;
console.log('recorded')
});
});