node.js으로 crud 만들기 -5

piper ·2024년 4월 15일
0

Nodejs

목록 보기
5/9

삭제는 쿼리 url을 link 의 get 방식이 아닌 꼭 form을 post 방식을 사용해야 한다. 앞써 페이지에 submit 버튼을 달아주고 delete_process로 요청이 post 전송되는 코드를 만들어주었다. 그런 후에 삭제 요청을 처리하는 fs.unlink를 사용하여 삭제하면 된다.

else {
      fs.readdir("./data", function (error, filelist) {
        fs.readFile(
          `data/${queryData.id}`,
          "utf8",
          function (err, description) {
            var title = queryData.id;
            var list = templateList(filelist);
            var template = templateHTML(
              title,
              list,
              `<h2>${title}</h2>${description}`,
              `<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>
              <input type="submit" value="delete"></input>
              </form>
              `
            );
            response.writeHead(200);
            response.end(template);
          }
        );

요청된 데이타를 받아온 후에 id 값에 해당되는 것을 삭제해준다.

else if (pathname === "/delete_process") {
    var body = "";
    request.on("data", function (data) {
      body = body + data;
    });
    request.on("end", function () {
      var post = qs.parse(body);
      var id = post.id;
      fs.unlink(`data/${id}`, function (err) {
        response.writeHead(302, { location: "/" });
        response.end();
      });
profile
연습일지

0개의 댓글