我对Node.js和Express有一个很大的问题。
我想使用请求的主体元素,但我不知道如何在程序中使用bodyParser();它不仅仅是app.use()……
你自己看一下:
requestServer = function(){
var express = require('express');
this.ex = express;
//this.app = require('express')();
this.app = express();
this.server = require('http').createServer(this.app);
this.io = require('socket.io').listen(this.server, {log: false});
this.socket = [];
this.app.post('/test/', this.testFunction.bind(this));
this.io.sockets.on('connection', this.socketConnection.bind(this));
this.app.use(express.bodyParser());
};
...
requestServer.prototype.positionChange = function(req, res){
console.log(req.body); // says its undefined???
console.log(req.body.name); // also undefined :(
};
...
var server = new requestServer();
server.listen(6667);我做错了什么?
发布于 2014-01-14 01:07:48
如果你想使用nodejs,express和bodyParser,我建议你自己弄清楚请求使用的方法。你的意思是使用get方法还是post方法?记住根据你在交流中获得的信息的利用情况来回答问题。
我认为您希望使用 post 方法,因为已经为post方法创建了body parser,并为get方法创建了query。
-客户端:只需编写一个表单元素,指定它使用post方法。为每个输入元素指定一个名称。
<form method="POST" action="/readRequest">
<input type="text" name="email" hint="email" value="" size="40"/>
<inpnut type="submit" value="request" />
</form>-节点端:放入要捕获/readRequest的中间件中,用'.‘读取值请求元素上的运算符
function (req, res, next){
console.log('Email received: '+req.body.email);
next();
}发布于 2014-08-29 01:55:40
由于存在安全漏洞,BodyParser不再被广泛使用。它现在被集成到Express本身中。不要用它。
发布于 2013-06-06 22:30:28
不是应该这样吗
var server = new requestServer();
server.listen(6667);是这样吗?
var server = new requestServer();
server.app.listen(6667);因为app是express对象,它会被返回。你能在调用positionChange的地方发布完整的代码吗?
https://stackoverflow.com/questions/16959617
复制相似问题