삭제는 쿼리 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();
});