【发布时间】:2015-07-04 12:44:27
【问题描述】:
这是我的 app.js 文件:
var express = require('express');
var app = express();
var path = require('path');
var $ = require('jquery');
var nodemailer = require('nodemailer');
app.use('/static', express.static(path.join(__dirname, 'static')));
app.get('/', function(req, res) {
res.sendFile('./views/index.html', {"root": __dirname});
});
app.post('/contact/', function(req, res){
console.log(req.body);
});
还有我来自另一个文件的 post 请求,在提交表单时调用:
$('form').submit(function(e){
e.preventDefault();
var content = $('#message').val();
var email = $('#EmailInput').val();
var reason = $('#reason').val();
$.post('/contact', { 'content': content, 'email': email, 'reason': reason }, function(data){
console.log(data);
});
})
但是,每当提交表单时,post 请求都是成功的,只是没有传递任何数据。
req 和 req.body 都返回 undefined。我不知道为什么。
【问题讨论】:
-
你的代码中有
console.log(res.body);,它应该是req.body -
看起来你正试图在 app.js 中记录响应——你应该记录请求,而不是!
-
哎呀。即使我改变了它,仍然未定义。还有其他理论吗?
-
"By default, it is
undefined,并在您使用 body-parser 和 multer 等正文解析中间件时填充。" -
你会推荐哪一个?
标签: javascript json node.js post express