본문 바로가기
Node.js

ejs - 문법 오류 에러

by 세인트킴 2024. 2. 4.
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Node.js</title>
  <link rel="stylesheet" href="/list.css" type="text/css">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
</head>

<%- include('nav.ejs') %>

<body class="grey-bg">
  <% for (var i=0; i<list.length; i++) {%>
  <div class="white-bg">
    <div class="list-box">
      <h4><a href="/detail/<%= list[i]._id %>"><%= list[i].title %></a></h4>
      <p><%= list[i].content %></p>
      <p><a href="/correction/<%= list[i]._id %>">수정하기</a></p>
    </div>
  </div> 
  <% } %>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
</body>
</html>

correction 페이지가 열리지 않고 밑의 접은 글 에러메세지가 떠서 한참을  찾던 중, list.ejs 페이지에서 페이지 아이디를 넘겨주는 것을 보고 상세페이지 문법과 같다는 것을 확인하고 원래 있던 <p><a herf="/correction/:id>수정하기 </p></a> 이 부분이 app.get()을 통해 :id와 같은 역할을 하는 줄 알았다. ejs 문법에 따라 수정 해야겠다고 결정

 

<%= list[i]._id %>로 바꿔서 페이지를 실행해보니 에러 해결.

더보기

BSONError: Argument passed in must be a string of 12 bytes or a string of 24 hex characters or an integer
    at new ObjectId (/Users/SaintKim/Documents/forum/node_modules/bson/lib/bson.cjs:2055:23)
    at /Users/SaintKim/Documents/forum/server.js:68:62
    at Layer.handle [as handle_request] (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/route.js:144:13)
    at Route.dispatch (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/route.js:114:3)
    at Layer.handle [as handle_request] (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/layer.js:95:5)
    at /Users/SaintKim/Documents/forum/node_modules/express/lib/router/index.js:284:15
    at param (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/index.js:365:14)
    at param (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/index.js:376:14)
    at Function.process_params (/Users/SaintKim/Documents/forum/node_modules/express/lib/router/index.js:421:3)

'Node.js' 카테고리의 다른 글

MongoDB 비밀번호 암호화  (2) 2024.02.06
list.ejs - 삭제기능 구현 오류  (0) 2024.02.06
수정 오류 해결 - correction.ejs  (0) 2024.02.04
server.js - urlParams 오류 수정  (0) 2024.02.04
list.ejs - css 적용 안됨 오류 해결  (0) 2024.02.02