2017-11-20 1 views
1

ejs 템플릿에서 반복을 시도하는 객체 배열이 있지만 "참조 오류 : 청구서가 정의되지 않았습니다."라는 메시지가 계속 나타납니다.EJS 변수가 제대로 렌더링 되더라도 오류가 발생합니다.

다른 StackOverflow의 질문은 변수가 실제로 정의되었는지 여부를 테스트했다, 그래서 나는이 제대로 배열의 길이를 렌더링,하지만 여전히

ReferenceError: /index.ejs:11 
    9|  <div id="billCarousel" class="carousel slide" data-ride="carousel"> 
    10|  <!--Indicators--> 
>> 11|  <h1><%= bills.length %></h1> 
에서 오류가 발생합니다

<h1><%= bills.length %></h1> 

을 사용 나는 그런

<%= (typeof bills === 'undefined') ? "ERROR" : bills[0].TrackNum %> 

은 F의 TRACKNUM와 함께이 라인을 교체하는 경우

irst 객체가 제대로 렌더링되었지만 오류는

ReferenceError: index.ejs:13 
    11|  <ol class="carousel-indicators"> 
    12|   <%= (typeof bills === 'undefined') ? "ERROR" : bills[0].TrackNum %> 
>> 13|   <% for (var i=0; i < bills.length; i++) {%> 

으로 이동합니다. 아래 관련 코드를 모두 볼 수 있습니다.

페이지/index.ejs

<ol class="carousel-indicators"> 
    <h1><%= (typeof bills == 'undefined') ? "ERROR" : bills[0].TrackNum %></h1> 
    <% for (var i=0; i < bills.length; i++) {%> 
     <li data-target="#billCarousel" data-slide-to="<%= i %>" class="<%= (i == 0) ? 'active':'' %>"></li> 
    <% } %> 
</ol> 

server.js

app.get('/', function(request, response) { 
    billQuery.summary(function(data) { 
     console.log(data.bills); 
     response.render('pages/index', { 
      page: "index", 
      status: data.status, 
      message: data.message, 
      bills: data.bills 
     }); 
    }) 
}); 

CONSOLE.LOG (data.bills)를 적절히 콘솔 어레이를 출력한다. 나는 index.ejs에서 렌더링 상태와 메시지를 시도해 보았고 정상적으로 작동합니다. 이미 Express Engine을 EJS로 설정했습니다. index.ejs를 렌더링하기 전에 Expressway 엔진을

app.set('view engine', 'ejs'); 

으로 설정했습니다. 또한 서버를 다시 시작하고 브라우저의 캐시를 여러 번 지웠으나 오류가 계속 발생합니다. 내가 놓친 다른 것이 있습니까?

답변

0

사이트가 favicon을로드하려고 할 때 404 오류로 인해 문제가 발생했습니다. 서버의 favicon.ico로드하려고 할 때

app.get('*', function(request, response) { 
    console.log("Couldn't retrieve "+request.url); 
    response.render('pages/index', { 
     page: "index", 
     status: "Failed", 
     message: "Error 404" 
    }); 
}); 

, 그것은 내가 "/"경로에 전달 된 지폐 배열을 삭제하는 것이 경로를했다. 나는 임시 수정으로 index.ejs의 머리에

<link rel="shortcut icon" href="#"> 

을 넣었습니다. 404 페이지를 렌더링하도록이 경로를 변경하면 문제가 영구적으로 수정되었습니다.

관련 문제