未解决的功能或方法post()Express 4.x路由器

时间:2015-11-19 18:24:32

标签: node.js post express

var express = require('express');
var router = express.Router();

var messages = [];

router.get('/',function(req,res){
    res.render('index');
});

// Method 1
router.route('/send')
    .all(function (req, res, next) {
        next();
    })
    .post('/send', function (req, res) { // unresolved function or method post()
        console.log("Message sent");
        var msg = req.body.message;
        if (msg != '') {
            messages.push(msg);
        }
        res.redirect('/');
    });

// Method 2
router.post('/send', function (req, res) { // unresolved function or method post()
    console.log("Message sent");
    var msg = req.body.message;
    if (msg != '') {
        messages.push(msg);
    }
    res.redirect('/');
});

我正在尝试使用POST方法发送请求,但我不断收到“未解析的函数或方法.post()”。

我尝试按照Express文档中的相同操作:Express Router

我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我唯一看到不合适的地方就是http://example.com/Archive.tar/path/to/file.bin中的'/send'参数。您已在.post中引用该路线。见router.route() reference

试试这个:

router.route('/send')