Я пытаюсь прочитать данные post в Express.js с использованием промежуточного программного обеспечения body-parser. Но получение follwing ошибкаКак читать данные сообщения в Express.js
TypeError: Cannot read property 'text' of undefined
at /var/www/html/forkom/routes/index.js:49:28
at callbacks (/var/www/html/forkom/node_modules/express/lib/router/index.js:272:11)
at param (/var/www/html/forkom/node_modules/express/lib/router/index.js:246:11)
Мой код-то вроде
var express = require('express'), routes = require('./routes');
var app = express.createServer();
var bodyParser = require('body-parser');
var multer = require('multer');
require('./routes/index')(app); // use route
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));
app.configure('production', function(){
app.use(express.errorHandler());
app.use(app.router);
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer()); // for parsing multipart/form-data
});
И я использую его следующим путем:
app.post('/addComment', function (req, res) {
var text = req.body.text; // error on this line
res.json({"done":"yes",text:text});
});
Я попытался Bothy с Ajax вызова:
$("#postComment").click(function(){
$.ajax({
url:"/addComment",
data:{text:$('.text-comment').val()},
type:'POST',
dataType:'json',
success:function(data){
console.log(data);
}
});
});
и als o использование Postman App.
Как вы размещаете данные? –
см. Отредактированный пост. –
Вы запускаете это в режиме 'production'? Поскольку вы настраиваете это только в процессе производства. Кроме того, попробуйте поместить 'app.use (app.router);' after' app.use (multer()); ' –