프로그래밍 언어/HTML,CSS,JS

Node.js에서 POST 데이터를 처리하는 방법

Rateye 2021. 9. 10. 10:15
728x90
반응형
질문 : Node.js에서 POST 데이터를 처리하는 방법은 무엇입니까?

Node.js POST 메서드에서 보낸 양식 데이터 ( form[method="post"] ) 및 파일 업로드를 어떻게 추출합니까?

나는 문서를 읽고, 봤지만 아무것도 찾지 못했습니다.

function (request, response) {
    //request.post????
}

도서관이나 해킹이 있습니까?

답변

Express (Node.js 용 고성능, 고급 웹 개발)를 사용하는 경우 다음을 수행 할 수 있습니다.

HTML :

<form method="post" action="/">
    <input type="text" name="user[name]">
    <input type="text" name="user[email]">
    <input type="submit" value="Submit">
</form>

API 클라이언트 :

fetch('/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        user: {
            name: "John",
            email: "john@example.com"
        }
    })
});

Node.js : (Express v4.16.0부터)

// Parse URL-encoded bodies (as sent by HTML forms)
app.use(express.urlencoded());

// Parse JSON bodies (as sent by API clients)
app.use(express.json());

// Access the parse results as request.body
app.post('/', function(request, response){
    console.log(request.body.user.name);
    console.log(request.body.user.email);
});

Node.js : (Express <4.16.0 용)

const bodyParser = require("body-parser");

/** bodyParser.urlencoded(options)
 * Parses the text as URL encoded data (which is how browsers tend to send form data from regular forms set to POST)
 * and exposes the resulting object (containing the keys and values) on req.body
 */
app.use(bodyParser.urlencoded({
    extended: true
}));

/**bodyParser.json(options)
 * Parses the text as JSON and exposes the resulting object on req.body.
 */
app.use(bodyParser.json());

app.post("/", function (req, res) {
    console.log(req.body.user.name)
});
출처 : https://stackoverflow.com/questions/4295782/how-to-process-post-data-in-node-js
728x90
반응형