// main.js
var http = require('http');
var fs = require('fs');
var url = require('url');
var qs = require('querystring');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
var pathname = url.parse(_url, true).pathname;
var title = queryData.id;
if(pathname === '/'){
if(title === undefined){
...
}else{
var readFolder = './data';
fs.readdir(readFolder, (error, filelist) => {
fs.readFile(`data/${title}`, 'utf8', (error, description) => {
if(error){
handleReadError(filelist, response);
return;
}
var list = templateList(filelist);
var template = templateHTML(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);
});
});
}
}else if(pathname === '/delete_process'){
var body = '';
request.on('data', (data) => {
body += data;
});
request.on('end', () => {
var post = qs.parse(body);
var id = post.id;
fs.unlink(`data/${id}`, (error) => {
if(error){
response.writeHead(503);
response.end(`Can't remove`);
return;
}
response.writeHead(302, {location : `/`});
response.end();
});
});
}
1. 삭제버튼 만들기
remove를 a태그로 링크를 걸게 되면, get방식으로 보내지기 때문에 보안에 취약.
그래서 form태그로 삭제버튼을 만든다.
추후, java script로 삭제 확인 메세지 추가 필요.
2. 파일삭제 기능
fs.unlink(파일경로 및 파일이름, 콜백함수);
??? fs.rm() 함수와 어떻게 다른걸까???
fs.rm()는 v14.14.0에 추가되었다.
출처
App - 글삭제 - 삭제버튼 구현
opentutorials.org/course/3332/21141
App - 글삭제 기능 완성
opentutorials.org/course/3332/21142
'개발일기 > Node.js 공부하기' 카테고리의 다른 글
Node.js - 모듈의 형식 (0) | 2021.04.10 |
---|---|
OOP (Object Oriented Programming) - 객체 지향 프로그래밍 (0) | 2021.04.10 |
App - 글수정 (update) (0) | 2021.04.09 |
App - 글생성 UI 만들기 & POST 방식으로 전송된 데이터 받기 & 파일생성과 리다이렉션 (0) | 2021.04.09 |
Node.js - 패키지 매니저와 PM2 (0) | 2021.04.09 |