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