recherche

Maison  >  Questions et réponses  >  le corps du texte

NodeJS utilise ejs pour envoyer des données à <script>

J'essaie d'envoyer des données de mon serveur Nodejs vers mon HTML à l'aide d'ejs. Mais le problème est que je n'arrive pas à lire les variables dans le script.

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

J'ai besoin de lire les événements en HTML comme ceci : var events = <%= events %>

Mais j'obtiens une erreur de console indiquant que l'événement n'existe pas. Avez-vous une idée sur la manière de résoudre ce problème ou de le faire fonctionner différemment ?

J'ai essayé de créer le div et de l'attribuer directement mais sans succès.

P粉511757848P粉511757848452 Il y a quelques jours747

répondre à tous(1)je répondrai

  • P粉891237912

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

    Vous semblez utiliser res.renderevents 正确传递到您的 ejs 视图,因此,如果您确信 events 已填充并且如果您没有任何数据库错误,则可以像这样访问 eventsobjets dans un tableau :

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

    répondre
    0
  • Annulerrépondre