1. ホーム
  2. フロントエンド
  3. js

エラー [ERR_HTTP_HEADERS_SENT]: クライアントに送信された後のヘッダを設定できない

2022-01-21 10:51:25
<パス

    mysqlデータベースに接続する際、nodejsでは、初回接続時は正常にデータを受信できるが、ページをリフレッシュしてリダイレクトすると、以下のようにエラーが発生してnodeサービスが切断される問題があります。

エラーコードは以下の通りです。

ネットで調べた結果 res.send() が含まれています。 res.end() メソッドを一度呼び出すと、データは正常に返されますが、同時に res.end() が実行され、このインターフェースが再び呼び出された場合、その時点で エラー [ERR_HTTP_HEADERS_SENT]: クライアントに送信された後、ヘッダーを設定できない

ソリューション

について res.send(); をコメントアウトするだけです。
しかし、その後、次のような別のエラーが報告されます。

エラーを報告する エラーです。Quit を起動した後、Quit を Enqueue できません。
を頻繁に呼び出すので、mysqlモジュールを使っています。 connection.end()です。 というエラーになるので、最終的には以下のようなコードになります。

//query the list of schools
router.get('/school', function(req, res, next) {
    
  connection.query("select * from school",function (err, result) {
    
    if(err){
    
      // res.send(err.message);
      res.json({
    
        status:"1",
        msg:err.message
      });
      return;
    }else{
    
      // res.send(result);
      res.json({
    
        status:"0",
        msg:result
      });
    }
  });
  // connection.end();
  // res.send('respond with a resource');
});