本帖最后由 jimu 于 2016-1-2 23:13 编辑
5.ejs文件中 <%=locals.post.title%> 获取服务端返回的变量,那对应的js文件中应该怎么写?var title = '<%=locals.post.title%>'; 这样写不行呀?
理解下ejs的原理:
ejs 在生成 html 的时候,会插值到 <%= %> 的地方。这是在服务端做的。 外部的引用的 js,是在 ejs 生成了 html 之后,由浏览器负责解释。 逻辑: 需要将你的 要用的变量的值在ejs文件中选保存起来,此位置能被外部js访问的地方。 解决方案: - <script type="text/javascript">
- var post = '<%- JSON.stringify(locals.post) %>';
- post = JSON.parse(post);
- </script>
- <script type="text/javascript" src="/javascripts/publish.js"></script>
- publish.js中的调用如下:
- alert(post.title);
复制代码
|