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

Javascript node.js使用HTTP接收通过表单提交的POST数据,javascript,forms,node.js,post,https,Javascript,Forms,Node.js,Post,Https,我正在使用node.js服务器,需要通过http*s*协议发布数据 POST被列为http协议,所以我想知道我是否走错了方向 无论如何,这里是我处理这篇文章的代码的顶部。我没有为berevity包含on('end')函数,但它确实存在 exports.login = function(req, res){ if(req.method == 'POST'){ var datastring = ''; req.on('data', function(data){ da

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

POST被列为http协议,所以我想知道我是否走错了方向

无论如何,这里是我处理这篇文章的代码的顶部。我没有为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')函数

我研究了连接协议,但浏览器表单不支持这种协议-如果您认为我无法通过HTTPS发送POST数据,请建议如何通过连接发送数据

谢谢你的帮助

编辑:以下是发送请求的表单:

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

长话短说,POST通过HTTPS工作吗?这里似乎不起作用。

发现我的团队中有人添加了ExpressBodyParser,所以帖子自然不再像以前那样工作了。这一变化恰好与我们切换到https时的情况相吻合,这使我们看起来似乎这就是问题所在,而事实并非如此。

https并不是真正的那种协议。TLS/SSL与HTTP处于不同的级别。你也不必担心。您是否调用了
req.end()?请求('end')在那里,我只是没有包括它。它从未被调用,如果他在('data')函数上从未被调用,这是意料之中的。否,而不是
req.on(“end”)
。发送POST数据时,必须结束请求。调用
req.end()。在
数据
处理程序中也只有这一点:
datastring+=data另外,你能给我们看一下发送post请求的代码吗?
var app= express();
...
app.post('/login', route_login.login);