Как получить объект из node.js, используя JSON.stringify () в файле javascript? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь привести в порядок вещи.Поэтому вместо того, чтобы на моей странице был тег-скрипт со всем кодом внутри, я бы хотел вставить тег, ведущий к файлу javascript с кодом, который выполняет нужные задачи.

Проблема Iу меня есть то, что я получаю " SyntaxError: ожидаемое выражение, получил '<' </strong>" в Firefox со следующим кодом:

Node.js route:

app.get("/testpage", function(req, res){

  var theObject = {
  id: 123,
  name: "Bob"
  }

  res.render("testpage", {objectFromNode: theObject});
});

Мой файл JavaScript (myjavascriptfile.js):

var myObj= <%-JSON.stringify(objectFromNode)%>
console.log(myObj);

HTML (testpage.ejs):

<html>
  <head>
    <title>

    </title>
    <script src="../public/js/myjavascriptfile.js"></script>
  </head>

  <body>
    <h1>Test Page</h1>
  </body>
</html>

Когда я помещаю JavaScript в теги сценария на самой странице, тогдавсе работает как нужно.

У кого-нибудь есть идея, почему это происходит и как это исправить?

1 Ответ

0 голосов
/ 01 мая 2019

Вам бы тоже пришлось "рендерить" файл JavaScript. Поскольку я не знаю ни маршрутизации, ни ejs, я могу только имитировать что-то на основе вашего кода:

app.get("/js/myjavascriptfile.js", function(req, res){

  var theObject = {
    id: 123,
    name: "Bob"
  }

  res.render("testjavascriptfile", {objectFromNode: theObject});
});

Где testjavascriptfile.ejs будет кодом JS с тегом ejs:

var myObj= <%-JSON.stringify(objectFromNode)%>
console.log(myObj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...