我试了很多想弄清楚为什么会引起这个错误:
Configuring
Listening on 2000
TypeError: Cannot read property 'title' of undefined
at /home/abdulsattar/learning/node/express/index.js:9:20
index.js:
var express = require("express"),
app = express.createServer();
app.get("/", function(req, res) {
res.send('<form action="/new" method="post"><input type="text" name="title" /><input type="submit" /></form>');
});
app.post("/new", function(req, res) {
res.send(req.body.title);
});
app.configure(function() {
console.log("Configuring");
app.use(express.bodyParser());
});
var port = process.env.PORT || 2000;
app.listen(port, function() {
console.log("Listening on " + port);
});
我已经读到明确需要bodyParser()
。我use
以上,但总是失败。我在版本2.5.8
和2.5.8
上尝试过(认为这可能是问题),但两个版本都失败了。我有什么遗失的吗?
答案 0 :(得分:12)
我的预感,请尝试在app.get和app.post之前移动app.configure语句。 bodyParser中间件未被调用。另外,为安全起见,不必将enctype
添加到表单中,但无论如何:application/x-www-form-urlencoded
。
让我知道......