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 でも機能しますか? ここでは機能していないようです。