요시요시
53
2019-12-02 18:24:24
8
274

Node.js에서 FormData가 undefined인 문제 해결좀 부탁드립니다 ㅠㅠ



Node.js Express 로 웹 서버 구축해놓고 React 페이지에서 axios 사용해서 값을 보냈습니다.


아래는 전송 버튼을 눌렀을 떄 React 페이지에서 값 보내는 함수 부분입니다. 


그리고 아래처럼 F12 눌러봤을때 값이 Form Data로 전달 된 것을 볼 수 있었습니다.

 


그런데 왜 아래 서버코드에서는 값을 받아오지를 못하는걸까요.. 

로그에는 계속 undefined만 뜹니다 ㅠㅠ

구글에 검색해봐도 다 body-parser를 안써서 에러난거라는 말 밖에 없네요....

대체 이유가뭘까요 ???


0
0
  • 답변 8

  • 배고파서서러워요
    2k
    2019-12-02 18:46:39

    저는 옵션을 extended: false 로 써서 넘겼던 기억이 나는데....

    혹시 저 부분 아닐지 조심스레 추측해봅니다.

    0
  • 요시요시
    53
    2019-12-02 18:49:27

    @배고파서서러워요


    저걸 바꿔도 안되네요...ㅠㅠㅠㅠ막막합니다..

    0
  • 배고파서서러워요
    2k
    2019-12-02 18:59:27

    아.. 설정에....... parser를 하나 더 두셨는데, 그냥 통합해서, 

    const bodyParser = require('body-parser');
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));

    이런식으로 선언하셔야할듯....

    저 부분에서 꼬인 듯 싶습니다....

    0
  • 요시요시
    53
    2019-12-02 19:05:51

     @배고파서서러워요 저렇게 했을때 안됐어서,

    https://hojak99.tistory.com/434

    이 방법을 보고 따라한 것이었습니다.

    여전히 저렇게 FormData를 append 해서 하는 방법으론 해결이 안되는데,



        axios({
          method:'post',
          url:'/api/hello',
          data: {
            name : this.state.name,
            password : this.state.password
          }
        })
        .then(function (response) {
          alert(response.data)
        })
        .catch(function (error) {
        });
      


    보내는 방법을 이렇게 변경하니까 되긴 하네요. 

    저 방법으론 왜 안되는지 ㅠㅠ 정말 의문입니다...


    0
  • IT공부중
    43
    2019-12-02 20:58:17
    1
  • 헬헬뿡
    446
    2019-12-02 22:25:14
    0
  • bor1bori
    25
    2019-12-02 23:33:49
    0
  • 요시요시
    53
    2019-12-06 00:00:20

     

    bor1bori  아 Form Data 가 multipart bodies 인가요?!감사하니다ㅠㅠ

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.