Передача переменной из app.js в файл ejs в тег скрипта

Alex T спросил: 13 октября 2017 в 06:49 в: javascript

Я пытаюсь передать переменную, которая определена в app.js, в тег сценария внутри и в файл ejs. Итак, app.js вкратце выглядит так:

//app.js
var express = require("express")
var app = express()
var request = require("request")var thelist =[]
app.locals.myVar = thelist.length;app.get("/", function(req, res){
    res.render("search")
})app.get("/show/:id", function (req, res) {
    var id = req.params.id;
    thelist.push(id)
    console.log(thelist);
    res.redirect('/')
});

Переменная, которую я хочу передать, это app.locals.myVar, на самом деле этот метод не работает, и я все еще получаю, что myVar не определен в файле ejs

Файл ejs находится здесь:

//search.ejs
<html>
    <head>
        <title>MYMDB</title>
        <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.css">
        <link rel="stylesheet" type="text/css" href="/stylesheets/app.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.min.js"></script>    </head>
    <body>    <a id="show-data" href="/data" class="ui right floated disabled button"> 
      See the table 
    </a>  <script>
    $('#run').click(function() {
      $('#show-data').removeClass('ui disabled button');
      $('#show-data').addClass('ui loading button');
      setTimeout(function () {      
          $('#show-data').removeClass("ui loading button");
          $('#show-data').addClass('ui basic button')
              }, myVar*2000);
   });
  </script>  </body>
</html>

Как вы можете видеть, я пытаюсь использовать myVar - переменную, полученную на стороне сервера js, а затем использую ее на стороне клиента js. Но, похоже, он не распознается в файле ejs.

0 ответов