NodeJS使用EJS无法获取新的html(来自MySQL的查询)

时间:2019-03-19 15:26:37

标签: javascript node.js ejs

使用EJS时,NodeJS出现问题。

我有2个html页面。第一个html页面供用户(客户端)设置查询范围,当他们按下“提交”按钮时,NodeJS将执行SQL查询,并将查询响应给第二个html。

我的问题是:当我测试查询时,我可以在控制台中看到该查询,但是它只是停止了...

这是我的NodeJS代码:

var express = require("express");
var app = express();
var ejs = require("ejs");

app.set('views','./views');
app.set('views engine','ejs');

app.get('/graph4', function (req, res, next) {


var sql = `select A.card_id, A.state_id state,A.city_id city,A.mail,DATE_FORMAT(A.first_active_month,'%M %Y') first_active_month,B.score loyalty from users A left outer join loyalty B on A.card_id = B.card_id  where B.score between -10 and -9 limit 1`;   
var rows = [] 
fetchData(sql , function (rows) {               
    var now = new Date();
    var today = now.getFullYear() + "/" + (now.getMonth() + 1) + "/" + now.getDate();
    console.log(rows)     
    res.render("graph4.ejs", {
        "title": "TEST",
        "today": today,
        "rows": rows
    })
    console.log("ejs end");
    }); 
});

这是我的EJS代码:

<div style="text-align: center"> 
              <%- include("graph4.ejs",{"title": title , "today": today  }) %>
        </div>
        <table class="table table-bordered table-striped table-hover table-heading table-datatable" id="ordersTable">
            <thead><tr>
            <th>ID</th>
            <th>State</th>
            <th>City</th>
            <th>Email</th>
            <th>Activate_Day</th>
            <th>loyalty</th>
            </tr>
            </thead>
            <tbody>
              <% rows.forEach(function(row) {%>
              <tr>
                <td><%= row.card_id %></td>
                <td><%= row.state %></td>
                <td><%= row.city %></td>
                <td><%= row.mail %></td>
                <td><%= row.first_active_month %></td>
                <td><%= row.loyalty %></td>

              </tr>
                    <%});%>
           </tbody>
           </table>                

当我运行app.js时,出现了很多错误,例如:enter image description here

我的第二个html(EJS)变成了这样(我只看到相同的错误重复并重复): enter image description here

1 个答案:

答案 0 :(得分:0)

由于使用的名称(变量)没有描述文件的内容,因此您犯了一个错误,并附加了相同的文件。

看到了吗?

android:layout_width="0dp"

您尝试渲染res.render("graph4.ejs", <%- include("graph4.ejs", ,其中包括graph4.ejs,其中包括graph4.ejs,其中包括graph4.ejs,其中包括graph4.ejs ...,直到包含/内存限制结束