express res.render发送页面同时提交对象数组时遇到的乱码问题

后端代码

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

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

前端代码

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

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

然后结果就是......
图片描述

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

个人需求

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

  1. 如果有能实现上述需求的,更加优雅的解决方案,望不吝指教,感激不尽;
  2. 如果能解决上述对象数组传递问题,同样十分感激。

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

阅读 2.7k
1 个回答

已解决,学艺不精啊?
ejs模板引擎的 <%= code %>,ejs会自动帮我们转义......
换成<% code %>就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题