cari

Rumah  >  Soal Jawab  >  teks badan

NodeJS menggunakan ejs untuk menghantar data ke <script>

Saya cuba menghantar data dari pelayan Nodejs saya ke html saya menggunakan ejs. Tetapi masalahnya ialah saya tidak boleh membaca pembolehubah dalam skrip.

Pelayan 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,
        });
      }
    );
  });
};

Saya perlu membaca acara dalam html seperti ini: var events = <%= events %>

Tetapi saya mendapat ralat konsol mengatakan acara itu tidak wujud. Sebarang idea bagaimana untuk membetulkannya atau bagaimana untuk menjadikannya berfungsi secara berbeza?

Saya cuba mencipta div dan menetapkannya secara langsung tetapi tidak berjaya.

P粉511757848P粉511757848452 hari yang lalu748

membalas semua(1)saya akan balas

  • P粉891237912

    P粉8912379122023-09-08 13:03:03

    Anda nampaknya menggunakan res.renderevents 正确传递到您的 ejs 视图,因此,如果您确信 events 已填充并且如果您没有任何数据库错误,则可以像这样访问 events objek dalam tatasusunan:

    <ul>
      <% events.forEach(function(event) { %>
        <li>
          Start: <%= event.start %> | End: <%= event.end %>
        </li>
      <% }); %>
    </ul>

    balas
    0
  • Batalbalas