글생성 UI 만들기

 

templateHTML 함수 ${list}밑에

    <a href="/create">create</a>

create 주소를 생성해준다

 

아래쪽에 else if 문을 만들어서 create 주소일때 출력하는 부분을 생성해보자

 

else if(pathname === '/create'){
      fs.readdir('./data', function(error, filelist){
        var title = 'WEB - create';
        var list = templateList(filelist);
        var template = templateHTMl(title, list, `
          <form action="http://localhost:3000/process_create" method="post">
          <p><input type="text" name="title" placeholder="title"></p>
          <p>
          <textarea name="description" placeholder="description"></textarea></p>
          <p>
          <input type="submit">
          </p>
          </form>
          `);
        response.writeHead(200);
        response.end(template);
      })
    }

readdir 부분을 복붙해서 몇몇군데를 수정했다

 

먼저 title값을 수정했고 description부분은 필요없어 삭제했다

 

templateHTML 매개변수 세번째 값(body값)에 폼형식을 집어넣기로했다

 

post형식으로 하고 버튼들을 만들고 제출버튼까지 만들었다

 

이 때 placeholder는 유저가 무엇을 입력해야하는지 보기 쉽게 만들어진 속성이다

 

post방식으로 전송된 데이터 받기

 

else if(pathname === '/create_process'){
      var body = '';
      request.on('data', function(data){
        body = body + data;
      });
      request.on('end', function(){
        var post = qs.parse(body);
        var title = post.title;
        var description = post.description;
        console.log(post.title);
      });
      response.writeHead(200);
      response.end('success');
    }

받는 곳의 주소를 create_process로 하고

post방식으로 받는 코딩을 해보자

var qs = require('querystring');

이렇게 모듈을 불러오고

 

request 식을 작성한다

 

var post = qs.parse(body);라고 되어있는데

 

이는 body를 객체화 하여 post에 넣는것이다

 

console.log(post);

로 실행시켜보면

{title: 'Nodejs', description: 'Nodejs is..'}

으로 넣었던 값들이 나타남을 알 수 있다

 

좀 더 응용해보자면

console.log(post.title);

Nodejs

이렇게 값이 나온다

'휴지통 > Node.Js' 카테고리의 다른 글

공부(17)  (0) 2021.08.26
공부(16)  (0) 2021.08.25
공부(14)  (0) 2021.08.25
공부(13)  (0) 2021.08.25
공부(12)  (0) 2021.08.25

+ Recent posts