just do it

[Node.js]글삭제-삭제버튼 구현, 삭제기능 완성 본문

언어&프레임워크/Node.js

[Node.js]글삭제-삭제버튼 구현, 삭제기능 완성

밍풀 2023. 1. 17. 00:18

삭제버튼 구현하기

삭제버튼 포함된 모습

 

delete 버튼은 링크가 아닌 form을 이용해야 함

 

컨텐츠를 클릭했을 때 활성화 되는 부분에 삭제버튼을 만들어 주어야 함, 아래 코드 부분 수정필요

1. delete버튼 이 있는 form 만들기

2. delete 를 클릭시 data_process로 data(form안의정보) 보내도록 하기; action="/data_process", method="post"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
else{
       fs.readdir('./data'function(error,filelist){
       fs.readFile(`data/${queryData.id}`,'utf8',function(err,description){
        var title = queryData.id;// css 같은 딱 id부분 즉 /?id= 요자리가 title
        var list = ListTemplate(filelist);
        var template = HTMLtemplate(title, list,
           `<h2>${title}</h2><p>${description}</p>`,
          `<a href="/create">create</a>
          <a href="/update?id=${title}">update</a>
 
          <form action="/delete_process" method="post">
          <input type="hidden" name="id" value="${title}">
          <input type="submit" value="delete">
          </form>`);
 
          response.writeHead(200);
          response.end(template);
        });
    })
  }
cs

삭제기능 완성하기

fs.unlink( 삭제할 경로, 콜백함수) 이용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
else if(pathname==="/delete_process"){
    var body='';
    request.on('data'function(data){//post로 받은 정보가져옴;
      body=body+data;
    });
    request.on('end'function(end){
      var post = qs.parse(body);//post로 받은 정보를 객체화시켜 전환;
      var id = post.id;
      fs.unlink(`data/${id}`, function(err){
        response.writeHead(302, {Location : `/`});//삭제후 웰컴페이지보여줌
        response.end();
      })
 
    })
 
  }
cs

이로써 버튼 클릭시 data폴더에 있는 파일도 삭제되고 웰컴페이지로 이동하게 됨