如何在JavaScript文件中使用JSON.stringify()从node.js中检索对象?

时间:2019-04-30 21:16:38

标签: javascript html node.js json object

我正在整理东西。因此,与其在我的页面上没有包含所有代码的脚本标签,而是要插入一个指向具有执行所需任务的代码的javascript文件的标签。

我遇到的问题是,我在Firefox中使用以下代码得到了“ SyntaxError:预期表达式,得到了<<< / ”:

Node.js路由:

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放在页面本身的script标签内时,一切都会按需工作。

有人知道为什么会发生这种情况以及如何解决吗?

1 个答案:

答案 0 :(得分:0)

您也必须“渲染” JavaScript文件。因为我既不知道路由,也不知道ejs,所以我只能根据您的代码来模仿:

this.secondary = this.secondary.concat({ primaryID: primary.primaryID, name: primary.name, isChecked: false });

app.get("/js/myjavascriptfile.js", function(req, res){ var theObject = { id: 123, name: "Bob" } res.render("testjavascriptfile", {objectFromNode: theObject}); }); 将是带有ejs标记的JS代码:

testjavascriptfile.ejs