• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 선생님 EJS에 다음과 같은 오류를 어떻게 해결할수 잇을까요?

선생님 EJS에 다음과 같은 오류를 어떻게 해결할수 잇을까요?

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #20374

    백광일
    참가자

    질문코드

    선생님 안녕하세요.

    너무나도 신박하고 직관적이고 재미있는 본질적 접근의 강의에 정말 감사의 말씀을 먼저드리는바입니다.

     

    ▶질문의도 

    ejs를 쓰면 보통 응답.render(페이지,{data}) 형태로 쓰는것이 정석이기는 합니다.

    그런데 api용 라우터를 따로 만들고 거기에서  json데이터를 받아서 렌더링을 하는 방식응로 코딩을 짜보고 싶더라고요.

    사실 이럴거면 ejs가 아니라 react를 쓰는게 맞지만 , 아직은 react가 어려워서 ejs로 해당 기능을 구현해보고 싶은 욕심이 생겼습니다. 

     

    그래서 가르쳐주신대로 ajax를 통해서 서버로 post  put delete 요청만 하는것이 아니라 get 요청으로 데이터를 받아서

    이를 렌더링 해주고 싶더군요.

     

    ▶생기게된 문제점

    제이쿼리 ajax로 get 요청으로 데이터를 받는것은 스크립트 태그입니다. ejs태그가 아닙니다.

    그래서 ajax로 get 요청으로 배열및 객체 데이터를 받았다고 하겠습니다.

     

    스크립트 태그안에서 api 서버로 get 요청으로 받은 데이터를 ejs로 넘겨주고 싶은데요.

    이게 잘 안됩니다.

     

    ▶예제상으로만 해결할수는 있는 방법

    <script>
            <% var ajax_get_api_data = [1,2,3] %>
        </script>

       <% ajax_get_api_data.map((data) => {%>
        <div><%=data%></div>
       <%}) %>

     

    이렇게 코드를 짜게 되면 작동은 합니다. 하지만 이렇게 되면 제이쿼리 ajax를 통해서 받은 데이터라고 할수 없습니다.

     

    해당 문제를 어떻게 해결해야할지 막막하여 이렇게 게시판에 글을 남겨봅니다.

     

    ▶질문의 요지

    어떻게 해야지 스크립트안에 있는 변수를 ejs로 넘겨줄수 있을까요?

    #20379

    백광일
    참가자

        <script>
            var ajax_get_api_data = [1,2,3] -------①
            <% var msg  = ajax_get_api_data %>
        </script>

        <% msg.map(function(data){ %>
           <div><%=data%></div>
        <%})%>
     

    해당 코드를 작동되도록 하고 싶은데요. 어떻게 해야지 작동이 될까요?
    질문의 의도는 ①는 변경하지 않고
    해당 값을 어떻게 해서든지 간에 EJS로 넘기도록 하는것입니다.

    #20382

    codingapple
    키 마스터

    ajax요청 후 html을 생성하고싶으면

    ejs를굳이 쓸 필요는 없습니다

    ajax요청 후 그 데이터를 가지고 html을 동적으로 생성해달라고 코드짜면 끝입니다

     

    #20409

    백광일
    참가자

    왜 ejs를 쓰는지 명확해졌고

    아작스가 왜 새로고침이랑 관련있는지도 이제야 이해했네요.

     

    감사합니다 

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠