node.js使用HTTP接收通过表单提交的POST数据

时间:2013-10-30 01:30:32

标签: javascript forms node.js post https

我正在使用node.js服务器,需要通过http * s *协议发布数据。

POST被列为http协议,所以我想知道我是否在错误的轨道上。

无论如何,这是处理POST的代码的 top 。我没有为berevity包含on('end')函数,但它就在那里。

exports.login = function(req, res){
if(req.method == 'POST'){
    var datastring = '';
    req.on('data', function(data){
        datastring += data;
        console.log("getting data");
        if(datastring.length > 1e6){
            req.connection.destroy();
        }
    });

通过控制台日志,我可以确定正在发出请求,并且请求被识别为POST,但永远不会调用req.on('data')的函数。

我查看了CONNECT协议,但浏览器表单不支持 - 如果您认为我不能通过HTTPS发送POST数据,请告知如何通过CONNECT发送数据

感谢您的帮助

编辑:这是发送请求的表单:

<form name="loginForm" action="login" method="POST" onsubmit="return checkForm()" class="separate-sections">

这里是抓取帖子的node.js代码

var app= express();
...
app.post('/login', route_login.login);

总而言之,POST是否通过HTTPS工作?它似乎没有在这里工作。

1 个答案:

答案 0 :(得分:0)

发现团队中有人添加了明确的bodyparser,所以自然帖子不再以我以前的方式工作。这种变化恰好与我们切换到https时的情况相吻合,这使得它看起来好像是问题,而不是。