添加第二条帖子时,出现此错误:
类型错误:
req.next
不是函数。
我该如何解决?我正在将nodejs express与firebase实时数据库一起使用
app.post("/addpost", urlencodedParser, function(req, res, next ) {
console.log(typeof(req.next))
if (req.session.user) {
var db = firebase.database();
var post = db.ref().child("/posts");
var key = firebase
.database()
.ref()
.child("/posts")
.push()
.getKey();
console.log(key);
post.push({
name: req.body.name,
title: req.body.title,
content: req.body.content,
subtitle: req.body.subtitle
});
// var array = [value];
// console.log(array);
// post.set(array);
res.redirect("/liststories");
next();
// next();
} else {
res.redirect("/login");
}
});
答案 0 :(得分:0)
Next用于必须将控制权传递给下一个中间件功能或路由的中间件。
说你有路线,
app.get('/', function (req, res) {
res.send('hello world')
})
像这样的中间件
app.use('/', function (req, res, next) {
console.log('Request Type:', req.method)
next()
})
所以您的代码应该是
app.post("/addpost", urlencodedParser, function(req, res) {
// console.log(typeof(req.next)) <--- Since there is no property next in Request Object
if (req.session.user) {
var db = firebase.database();
var post = db.ref().child("/posts");
var key = firebase
.database()
.ref()
.child("/posts")
.push()
.getKey();
console.log(key);
post.push({
name: req.body.name,
title: req.body.title,
content: req.body.content,
subtitle: req.body.subtitle
});
// var array = [value];
// console.log(array);
// post.set(array);
res.redirect("/liststories");
next();
// next();
} else {
res.redirect("/login");
}
});
您可以阅读有关中间件here
的更多信息