【Node.js】GETとPOST の変数を取得してみる

以前、node.js で GET変数を受けられるようにしましたが、

POST でも値が受けられるようにしてみました。(※ 今回は「 msg 」 という変数名)

const http = require('http'); const PORT = 8124;

http.createServer((request, response) => { request.setEncoding("utf-8"); res.writeHead(200, { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*", })

if (request.method === 'GET') { const data = require('url').parse( request.url , true ); const msg = data.query.msg + "";

}

if (request.method === 'POST') { request.on("data", chunk => { const data = JSON.parse(chunk); const msg = data["msg"];

});

}

response.end('Finish !\n');

}).listen(PORT);

console.log(Server running at http://localhost:${PORT}/);

追記

上のソースだと、何回かに一回、GET変数が取得できないことがあった。

↓こちらのように、クエリーをパースするのが正解だと思う。