nodejs 공부 2024.05.30
과제
숫자를 프론트에서 넘겨서 백에서 숫자를 받으면 그 값으로 화면에 표시하고 프론트에서 값이 안 오면 그냥 1 증가한 값을 화면에 표시
api
get이랑 post, put은 배웠음. 삭제는 따로 구현했는데 (혼자ㅎ)
get방식이었음. 교수님이 코드 리뷰해주셨는데.. 길을 가긴 갔는데 제대로 못갔다고 하심 ㅠ
- 내코드
1 2 3 4 5 6 7 8 9 10 11 12 13
// 댓글 삭제 app.get('/delete/:id', (req,res, next) => { const sql = 'DELETE FROM comment WHERE no = ?'; const id = [req.params.id]; connection.query(sql, id, (err, result) => { if (err) { console.error('데이터베이스 오류:', err); return res.status(500).send('서버 오류'); } res.redirect("/comments"); }); });
delete를 써서 api 를 구현해서 만들어야함
그리고 http에 행위가 포함이 되면 안됨.
- 교수님 코드
1 2 3 4 5 6 7 8 9 10 11 12 13
// 댓글 삭제 app.delete('/api/comments/:id', (req,res, next) => { const sql = 'DELETE FROM comment WHERE no = ?'; const id = [req.params.id]; connection.query(sql, id, (err, result) => { if (err) { console.error('데이터베이스 오류:', err); return res.status(500).send('서버 오류'); } res.json({"result" : "ok"}); }); });
그리고 프론트에서 백앤드로 api에 값 보낼때 상대주소로 해야함!
1
2
3
4
5
6
7
8
9
function deleteComment(no) {
fetch(`/api/comments/${no}`, {method: "DELETE"})
.then((res) => res.text())
.then((result) => {
alert('삭제되었습니다.');
location.reload();
})
.catch((err) => alert('오류 발생'))
}
포트번호 80으로 해두면 locallhost url로 바로 갈 수 있음
1
2
3
4
5
6
7
8
9
10
11
12
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
const port = 80;
app.use(bodyParser.json());
app.listen(port, () =>{
console.log(`서버 실행중: http://localhost:${port}`);
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
This post is licensed under CC BY 4.0 by the author.