programing

express.body get 메서드가 req.body 값을 가져올 수 없습니다.

bestcode 2022. 7. 21. 00:37
반응형

express.body get 메서드가 req.body 값을 가져올 수 없습니다.

vue3, vuex, express.js 및 mysql을 사용합니다.다음 라우터 get 메서드에서는 "console.log(req.body)"를 호출하여 "object Object"를 표시하고 "console.log(req.body.userid)"를 호출하여 "undefined"를 표시합니다.

router.get('/',async function(req,res){
    const userId = req.body.userid;
    console.log("req body is: "+req.body);
    console.log("req.body.userid is: "+req.body.userid);
    .....
}

다음 방법에서는 userid 값을 json 개체로 전달합니다.console.log("post userid: "+userinfo.userid");"를 호출하여 올바른 값 "1"을 표시합니다.

      async getsp(){         
        var userinfo = JSON.parse(localStorage.getItem('user'));
        console.log("post userid: "+userinfo.userid);
        var userid = userinfo.userid;
        var obj = {userid}; 
        return await axios.get('//localhost:8081/getSp',obj)
        .then(...)
      },

body-parser를 사용한 메인라우터 파일의 컨텍스트는 다음과 같습니다.

require("dotenv").config();

const express = require('express');      
const bodyParser = require('body-parser');
var cors = require('cors');

const signup = require('./userSignUp');
const login = require('./userLogin');
const createEvsp = require('./createEvsp');
const getSp = require('./getSp');
//const createFile = require('./createFile');

const app = express();        
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
app.use(cors()) 
app.use(express.json());

app.use(
   express.urlencoded({
   extended: true
   })
 );
 app.use("/signup",signup);
 app.use("/dologin",login);
 app.use("/createEvsp",createEvsp);
 app.use("/getSp",getSp);
 //app.use("/createFile",createFile);

 app.listen(8081,function () {    
     console.log('Server running at 8081 port');
 });

문제는 HTTP 방식의 이해와 express 동작 방식입니다.

이를 해결하려면 Express Middleware를 사용해야 했습니다./:userid를 사용하여 파라미터에 액세스하기 위해req.params.userid

데이터 전송에 관한 http 규격에 따라 일반적으로 POST 요청을 사용합니다.스택에 적절한 답변이 있습니다.HTTP 요청 취득에 관한 정보

세이프-에딘

언급URL : https://stackoverflow.com/questions/66311713/express-js-get-method-cannot-get-req-body-value

반응형