html에서 if문 사용하고있습니다.
nodejs mongoDB 사용중입니다.
DB값을 변수?에 담아서 html로 담긴값을 if문으로 판단해서 출력해서 보여주고 싶습니다.
(if문만 제거하면 값이 잘 출력되는 것으로 확인이되었습니다.)
1. 아래는 html(ejs부분입니다.) if문이 잘못된거 같아요.
<% for (const p of posts) { %> <% if(p.category == "test11_board") { %> <li class="list-group-item"> <a href="/test11_board/view/<%= p._id %>"> <%= p.title %> / <%= p.username %> / <%= p.created_at_format%> </a> </li> <% } %> <% } %>2. js
boards에 저장글 내용이 들어 있습니다.
const Test11BoardService = require('../service/test11_board_service'); // html-entities module is required in showpost.ejs const main_listpost3 = async function(req, res) { const { boards, totalCnt, totalPage } = await Test11BoardService.findTest11BoardListWithPaging(1, 5, null, null); var context = { title: 'Test11글 목록', posts: boards, page: 1, pageCount: 5, perPage: 5, totalRecords: 5, size: 5 }; res.render('index', context); };55글자 더 채워주세요.
2개의 답변이 있어요!
안녕하세요.
사용하신 구문에는 문제가 없습니다. 다만,
<% for (const p of posts) { %> <% if(p.category == "test11_board") { %>에서..
1. posts 자료형에 category field가 있는지,
2. 그리고 그 값으로 들어오는 것 중에서 "test11_board"가 있는지 확인해 보시면 될 거 같습니다.
우선은 for와 if 사이에 console.log를 넣어서 dev tool이 아니라 terminal에서 확인해 보시는 방법과 같이 실제
같이 있는지 확인해 보시는 것도 좋겠습니다.
감사합니다.
if문 때문에 브라우저에 에러가 표시되는지, 아니면 단순히 데이터만 표시되지 않는지가 중요합니다.
제 생각에는 문법에는 크게 잘못된 부분은 없고요.
posts들의 category가 test11_board가 아닌 것 같은데요.
js쪽에서 console.log(boards)해서 category들을 보여주시면 에러 확인에 더 도움이 될 것 같습니다.