- 기능이 어떻게 동작하는지 한글로 상세히 정리부터 하고
- 그걸 코드로 번역하기
이렇게 하면 처음보는 기능도 알아서 잘 만들 수 있습니다.
숙련된 프로그래머들도 다들 이렇게 합니다.
<form class="form-box" action="/posting" method="POST">
<h4>인풋박스제목</h4>
<input name="title">
<input name="text">
<button type="submit">전송</button>
</form>
해석
<form class="form-box" action="/posting" method="POST">
<h4>인풋박스제목</h4>
<input name="title">
<input name="text">
<button type="submit">전송</button>
</form>
<form> : 폼태그는 html에서 인풋박스 만들때 쓰는거임
form(폼)안에다 인풋박스 만들어야 서버에 전송하기 편함
action="/ULR~~" : URL내용은 서버파일 에서 사용할 URL
name="이름" : input박스에는 DB에 어떤이름 으로 저장할지 name을 지정해줘야함
method="POST" : 서버에 post 요청 할꺼란 뜻임
//유저가 데이터를 보내면 그걸 꺼내쓰는 코드가 원래 귀찮은데
//그걸 쉽게 요청.body에 넣는걸 도와주는 코드
//위쯤에 넣어두고 시작한다 생각하면 편함
app.use(express.json)
app.use(express.urlencoded({extended:true}))
이제 서버파일에서
//유저가 작성한 글을 db에 저장해주기
app.post('/URL작명', async (요청, 응답) => {
await db.collection('js').insertOne({ DB에넣을 이름 : 요청.body.인풋박스name })
응답.redirect('/')
});
해석
app.post('/URL작명', async (요청, 응답) => {
await db.collection('js').insertOne({ DB에넣을 이름 : 요청.body.인풋박스name })
응답.redirect('/')
});
app.post() : 포스트요청 메소드임
'/URL작명' : 요청할 url작명해서 적는곳 대충 '/posting' 이런거
db.collection('컬렉션명') : 대충 주소임 DB의 컬렉션('컬렉션이름') 라는뜻
insertOne : 삽입한다는뜻
DB에넣을 이름 : 몽고DB는 데이터를{ 이름 : 내용 } 이렇게 저장함 그중 제목 부분
요청.body. : 인풋박스에 입력한 내용
요청.body.인풋박스에서 설정한name
응답.redirect('/') : 이건 인풋을누르면 홈화면으로 이동한다는 뜻
서버 기능이 끝나면 항상 응답을 해줘야 무한대기에 안빠짐
'Node.js' 카테고리의 다른 글
[Node.js + MongoDB]상세페이지 만들기 1 (URL parameter) (0) | 2024.07.26 |
---|---|
[Node.js + MongoDB]글 작성기능 만들기 2 (insertOne, 예외 처리,검열하기) (0) | 2024.07.26 |
mongoDB데이터 불러오기 (0) | 2024.07.25 |
웹페이지에 DB데이터 꽂기 (EJS, 서버사이드 렌더링) (0) | 2024.07.24 |
DB 데이터 가져오기 (0) | 2024.07.24 |