【问题标题】:Accessing Express's locals in client-side JS在客户端 JS 中访问 Express 的本地变量
【发布时间】:2015-08-10 17:09:07
【问题描述】:

已经有一些关于这个主题的帖子,但我无法让它在我的代码上工作:(

我有这个简单的渲染功能:

router.get("/", function(req, res) {
  res.render("index", {
    route: "one"
  });
});

我尝试在客户端 js 文件中访问这个变量 route 到目前为止没有运气:

// Unexpected token: <
var route = <%- JSON.stringify(route) %>;

// variable 'route' is undefined
var route = !{route};

// Unexpected token .
var route = !{JSON.stringify(route)};

// console log out "<%- JSON.stringify(route) %>;
var route = "<$- JSON.stringify(route) %>";

请注意我的视图引擎是ejs

【问题讨论】:

  • 您不能在 javascript 文件中使用 ejs。您需要在视图文件中创建一个script 块。
  • @BrianGlax:有效!谢谢!

标签: javascript express ejs


【解决方案1】:

也许你试试:

router.get("/", function(req, res) {
  res.render("index", JSON.stringify({
    route: "one"
  }));
});

并在客户端使用 JSON.parse

https://github.com/expressjs/body-parser

【讨论】:

  • 问题是在客户端JS文件中使用route。另外,body-parser 与此无关 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多