NodeJS 用 ejs 傳送資料到 <script>
P粉511757848
P粉511757848 2023-09-07 15:08:05
0
1
759

我正在嘗試使用 ejs 將資料從我的 Nodejs 伺服器傳送到我的 html。但問題是我無法讀取腳本中的變數。

Nodejs 伺服器:

exports.getIndex = (req, res, next) => {
  var alert = req.query.msg;

  // connect to your database
  mssql.connect(config, function (err) {
    if (err) console.log(err);
    var request = new mssql.Request();

    request.query(
      "SELECT startDate, endDate  from Reservations",
      function (err, recordset) {
        if (err) console.log(err);
        events = [];
        recordset.recordset.forEach((element) => {
          reserv = {};
          reserv.start = element.startDate;
          reserv.end = element.endDate;
          events.push(reserv);
        });
        res.render("index", {
          alert: alert,
          events: events,
        });
      }
    );
  });
};

我需要像這樣讀取 html 中的事件: var events = <%= events %>

但我收到控制台錯誤,表示事件不存在。知道如何解決這個問題或如何讓它以不同的方式工作嗎?

我嘗試建立 div 並直接分配,但沒有成功。

P粉511757848
P粉511757848

全部回覆(1)
P粉891237912

您似乎使用res.renderevents 正確傳遞到您的ejs 視圖,因此,如果您確信events 已填充並且如果您沒有任何資料庫錯誤,則可以像這樣存取events 陣列中的物件:

<ul>
  <% events.forEach(function(event) { %>
    <li>
      Start: <%= event.start %> | End: <%= event.end %>
    </li>
  <% }); %>
</ul>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板