我正在使用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工作?它似乎没有在这里工作。
答案 0 :(得分:0)
发现团队中有人添加了明确的bodyparser,所以自然帖子不再以我以前的方式工作。这种变化恰好与我们切换到https时的情况相吻合,这使得它看起来好像是问题,而不是。