在Node.js中使用Express.js获取POST参数
我想要使用Express请求后获取一些POST参数,但我无法获取数据。 这是我的app.configure
:
app.configure(function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(gzippo.staticGzip(__dirname + '/public')); app.use(gzippo.compress()); });
在POST HTTP请求之后,我试图在控制台输出它:
console.log(req.body);
对象总是空的。
任何想法,我忘了什么?
我唯一需要做的是从这个代码中添加body parser和app.post行:
app.use(express.static(__dirname + '/public')) .use(express.favicon()) .use(express.bodyParser()) .use(express.cookieParser(COOKIE_P)) .use(express.session()); app.post('/',function(req,res){ res.writeHead(200,{"content-type":"text/html;charset=UTF8;"}); res.end("POST"); console.log(req.body); });
我的失败是尝试从app.get而不是app.post获取值。
你必须使用req.body来获取正文参数。 您也必须在HTML代码中使用表单。
例:
<form action="myaction" method="post"> <input name="address" id="address" type="text" /> <button type="submit" value="Send" /> </form>
…
在你的表格中:
var address = req.body.address; //get address value
尝试交换以下几行:
app.use(express.bodyParser()); app.use(express.methodOverride());
- app.post和app.use在节点expression有什么不同?
- 如何获得快递js的邮寄请求?
- 我怎样才能用json发送响应而不是玉?
- ReferenceError:在Ajax调用尝试redirect用户之后没有定义窗口
- 使用Node + Jade + Express渲染存储在Mongo(GridFS)中的图像
- Mongoose:CastError:强制转换为ObjectId在path“_id”处的值“me”失败
- Express(node.js)使用HTTPS和HTTP
- mongoose连接/模型:需要始终运行在打开?
- 尝试将新数据传递给一个对象,而不使用expressreplacemongoDB中的旧数据