express res.render发送页面的同时传递数据时遇到的问题

后端代码

data中包含的是查询出的结果,是一个对象数组

res.render('search_result', { title: '查询结果页', data: result });

前端代码

这里没用jade模板引擎,因此获取方式是HTML的<%%>

var data = "<%=JSON.stringify(data)%>";

alert(data);

然后结果就是......

https://img2.mukewang.com/5b0c060900012c7f07820536.jpg

如图,明显传递的对象数组被解析为字符串传递,其中的所有符号也被整成转义字符

个人需求

目前情况如上所述,个人需求是发送页面的同时把查询到的数据交过去,然后动态渲染。因此:

1. 如果有能实现上述需求的,更加优雅的解决方案,望不吝指教,感激不尽;

2. 如果能解决上述对象数组传递问题,同样十分感激。

另外,本人Node小白,才自学两个月不到,express文档都还没过完一遍?,因此希望能给出相对详细的解决方案,谢谢?


守护宣言
浏览 6275回答 4
4回答

Keyro

建议你使用jade或者ejs模板引擎,看你上面的写法像是ejs模板引擎的语法,不知道你在app.jsl里面有没有配置模板引擎

守护宣言

已解决,学艺不精啊?ejs模板引擎的 <%= code %>,ejs会自动帮我们转义......换成<% code %>就好了一时间没想到会是ejs模板引擎的问题,感谢@Keyro 提供了那一点灵光
打开App,查看更多内容
随时随地看视频慕课网APP