아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
완강한레아173
완강한레아17320.07.04

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들을 보여주시면 에러 확인에 더 도움이 될 것 같습니다.