1

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

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

无论如何,这是我处理 POST 的代码的顶部。为了简洁,我没有包含 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 工作?它似乎在这里不起作用。

4

1 回答 1

0

发现我团队中的某个人添加了 express bodyparser,所以帖子自然不再像我以前那样工作了。更改恰好与我们切换到 https 时相吻合,这使它看起来好像是问题所在,而实际上并非如此。

于 2013-10-30T05:04:10.433 回答