跳到主要内容
CNode

如何在外部js中获取res.render()传递的数据

问答
Zzhengjun87发布于 10 年前最后回复 10 年前
2123520

console.log(<%- JSON.stringify(articles) %>); 比如我在html文档中的

查看回复

回复 (2)

W
wangnan0610#210 年前

建议第一种,其实就是设置一个变量~这种方法实测可用

W
wssgcg1213#110 年前

express 吗, res.render 是express用来渲染模板的, js 正常情况下是放在 public 目录下的 给你两个方案吧

  1. 直接在页面上输出数据, js 获取

<script>
	var REMOTE_DATA = "<%= JSON.stringify(articles) %>";
</script>

或者放在dataset里也行 看你习惯

2.把 js 放到 views 目录下, 修改扩展名为 ejs 然后在里面使用 ejs 语法 在 res.render 之前设定 content-type 为"application/x-javascript" 就行了

第二种方法我没试过 如果出现header重复的话, 就只能hack render方法或者自己实现render, 利用fs.readFile和replace+正则就能很方便的实现

参与回复

登录后即可参与回复。登录