현재노트

[Nodejs] API 호출 시 인풋데이터 json 형태로 변환(파싱)하기! 본문

Back/Node.js

[Nodejs] API 호출 시 인풋데이터 json 형태로 변환(파싱)하기!

현재노트 2020. 9. 25. 16:26

다들 nodejs으로 개발함에있어 프론트엔드 기술로 여러가지 기술(react, vue, jsp 등)들을 사용할 것입니다.

 

이번 포스팅에서는 프론트엔드 기준을 react으로 사용하고, nodejs로 API 데이터 호출을 하는 과정에서 인풋 데이터 즉, form 내의 데이터를 json형태로 보내는 방법에 대해서 알아보겠습니다.

if(this.fnValidate()){
            var jsonstr = $("form[name='frm']").serialize();
            jsonstr = decodeURIComponent(jsonstr);
            var Json_form = JSON.stringify(jsonstr).replace(/\"/gi,'')
            Json_form = "{\"" +Json_form.replace(/\&/g,'\",\"').replace(/=/gi,'\":"')+"\"}";
        
            try {
                const response = await fetch('/qnaregister', {
                    method: 'POST',
                    headers: {
                    'Content-Type': 'application/json',
                    },
                    body: Json_form,
                });
                const body = await response.text();
                if(body == "succ"){
                    this.sweetalertSucc('문의가 완료되었습니다.', false)

                    setTimeout(function() {
                        this.props.history.push('/');
                        }.bind(this),3000
                    );
                }else{
                    alert('작업중 오류가 발생하였습니다.')
                }  
            } catch (error) {
                alert('작업중 오류가 발생하였습니다.')
            }
        }

 

html에서 form 형태의 name값으로 input 데이터를 받아와 json형태로 변환해주는 코드입니다.

 

변환된 값을 body에 담아서 넘기는 방식으로 API 호출을 진행할 수 있습니다.

 

 

※두번째 라인에서 $를 통해 name값을 인식하여 데이터를 불러오는 과정은 상단에 jquery를 임포트해주어 사용하였습니다.

import $ from 'jquery';

 

Comments