Req.next не является функцией - PullRequest
0 голосов
/ 28 мая 2019

Когда я добавляю второй пост, у меня появляется эта ошибка:

Ошибка типа: 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");
    }
});

1 Ответ

0 голосов
/ 28 мая 2019

Далее используется в промежуточном программном обеспечении, где необходимо передать управление следующей функции или маршруту промежуточного программного обеспечения.

Скажем, у вас есть маршрут,

app.get('/', function (req, res) {
  res.send('hello world')
})

Middleware для него будет как,

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");
    }
});

Вы можете узнать больше о промежуточном программном обеспечении здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...