以前、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変数が取得できないことがあった。
↓こちらのように、クエリーをパースするのが正解だと思う。