4

サーバーにデータを投稿したい。問題は、サーバーがデータを受信できないように見えることです。

したがって、私の投稿データは次のようになります。

name=hello&email=there&message=sometext

私のサーバーコードは次のようなものです:

var url  = require('url'),
    express = require('express'),
    http=require('http'),
    path = require('path'),
    nodemailer = require('nodemailer');

var app = express();
var server = http.createServer(app);


app.engine('.html', require('ejs').__express);
app.set('views', __dirname + '/views');
app.set('view engine', 'html');
app.use(express.static(path.join(__dirname, 'public')));


app.get('/', function(req, res){
    res.render('home');
});

app.use(express.bodyParser());

app.post('/', function(req, response){

    console.log(req.body);
    // console.log(request.body.name);

});

server.listen(4000);
console.log('server running ' + 'now ' + Date.now());

実行時console.log(reg.body)、端末出力は「未定義」です

4

2 に答える 2

4

すべてのクエリ文字列出力はデフォルトで解析されますapp.use(express.bodyParser());..問題の簡単な解決策は req.query、次のようなログを試すことです

console.log(req.query);
于 2013-08-29T22:08:39.683 に答える
1

move app.use(express.bodyParser())); app.use(express.static(path.join(__dirname, 'public'))); の前に

于 2016-07-16T05:57:07.940 に答える