2 글 보임 - 1 에서 2 까지 (총 2 중에서)
-
글쓴이글
-
2022년 8월 5일 16:59 #40912
이해욱참가자list.ejs 를 write 나 home처럼 네비게이션 바에 보여주게 할순없나요? server.js에서 render 할떄 변수를 하나 더 렌더링해줘서 오류가 뜨는거같은데
server.js app.get('/list', function(요청, 응답){ db.collection('post').find().toArray(function(에러, 결과){ console.log(결과) 응답.render('list.ejs', { posts : 결과 }) //ejs에 보낼 데이터 }) }) app.get('/', function(요청, 응답) { 응답.render('index.ejs'); }) write.ejs
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <title>Document</title> </head> <body>
<%- include('nav.html') %>
<h4 class="container mt-4">글 작성페이지</h4>
<div class="container mt-3"> <form action="/add" method="POST"> <div class="form-group"> <label>제목</label> <input type="text" class="form-control" name="title"> </div> <div class="form-group"> <label>날짜</label> <input type="text" class="form-control" name="date"> </div> <button type="submit" class="btn btn-danger">Submit</button> </form> </div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </body> </html> index.ejs
<!doctype html> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" href="/public/main.css">
<title>Hello, world!</title> </head> <body>
<%- include('nav.html') %>
<h4 >home 입니다.</h4>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <!-- <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> --> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </body> </html>
nav.html
<nav class="navbar navbar-expand-lg navbar-light bg-light"> Todo App <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> Home <span class="sr-only">(current) </span> <li class="nav-item"> Write <li class="nav-item"> list </div> </nav>
이렇게 하면 오류가뜨더라구요 eferenceError: C:\Users\atolo\Desktop\moon\views\list.ejs:22 20| <div class="container"> 21| <ul class="list-group"> >> 22| <% for (var i = 0; i < posts.length; i++){ %> 23| <li class="list-group-item"> 24| <p>글번호 : <%= posts[i]._id %></p> 25| <h4> 할일 제목 : <%= posts[i].제목 %> </h4> posts is not defined at eval ("C:\\Users\\atolo\\Desktop\\moon\\views\\list.ejs":15:28) at list (C:\Users\atolo\Desktop\moon\node_modules\ejs\lib\ejs.js:703:17) at tryHandleCache (C:\Users\atolo\Desktop\moon\node_modules\ejs\lib\ejs.js:274:36) at View.exports.renderFile [as engine] (C:\Users\atolo\Desktop\moon\node_modules\ejs\lib\ejs.js:491:10) at View.render (C:\Users\atolo\Desktop\moon\node_modules\express\lib\view.js:135:8) at tryRender (C:\Users\atolo\Desktop\moon\node_modules\express\lib\application.js:657:10) at Function.render (C:\Users\atolo\Desktop\moon\node_modules\express\lib\application.js:609:3) at ServerResponse.render (C:\Users\atolo\Desktop\moon\node_modules\express\lib\response.js:1039:7) at C:\Users\atolo\Desktop\moon\server.js:41:6 at Layer.handle [as handle_request] (C:\Users\atolo\Desktop\moon\node_modules\express\lib\router\layer.js:95:5)
오류내용입니다.
2022년 8월 5일 20:33 #40948
codingapple키 마스터list.ejs 파일 보내줄 때 posts라는 변수명을 안보냈다는 에러같은데 list.ejs 파일 보내주는 곳을 확인해봅시다
-
글쓴이글
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
- 답변은 로그인 후 가능합니다.