Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EJS变量即使正确渲染也会引发错误_Javascript_Node.js_Ejs - Fatal编程技术网

Javascript EJS变量即使正确渲染也会引发错误

Javascript EJS变量即使正确渲染也会引发错误,javascript,node.js,ejs,Javascript,Node.js,Ejs,我试图在ejs模板中迭代一系列对象,但我不断得到“引用错误:未定义账单” 其他的StackOverflow问题用来测试变量是否被定义,所以我使用了 <h1><%= bills.length %></h1> log(data.bills)正确地将数组打印到控制台。我尝试过在index.ejs中呈现状态和消息,它们工作得很好。我已经使用将我的Express引擎设置为EJS app.set('view engine', 'ejs'); 在我有渲染index.ej

我试图在ejs模板中迭代一系列对象,但我不断得到“引用错误:未定义账单”

其他的StackOverflow问题用来测试变量是否被定义,所以我使用了

<h1><%= bills.length %></h1>
log(data.bills)正确地将数组打印到控制台。我尝试过在index.ejs中呈现状态和消息,它们工作得很好。我已经使用将我的Express引擎设置为EJS

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

在我有渲染index.ejs的路径之前。我还重新启动了服务器并多次清除了浏览器的缓存,但错误不断发生。我还遗漏了什么吗?

问题是由于网站试图加载favicon时出现了404错误

app.get('*', function(request, response) {
    console.log("Couldn't retrieve "+request.url);
    response.render('pages/index', {
        page: "index",
        status: "Failed",
        message: "Error 404"
    });
});
当服务器试图加载favicon.ico时,它调用了这个路由,它似乎删除了我在“/”路由中传递的bills数组。我把

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

在index.ejs的头部作为临时修复。一旦我改变了这个路径来呈现404页面,这个问题就被永久地解决了

<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>
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
        });
    })
});
app.set('view engine', 'ejs');
app.get('*', function(request, response) {
    console.log("Couldn't retrieve "+request.url);
    response.render('pages/index', {
        page: "index",
        status: "Failed",
        message: "Error 404"
    });
});
<link rel="shortcut icon" href="#">