文章为博主原创,博客地址 https://blog.youkuaiyun.com/xuelang532777032 转载附上本文链接 博主wx : xuelangzhiye 欢迎一起交流
问题如图:

要达到的效果如图:

在嗮下原来的 controller 层代码代码
var results={
b:1
}
await ctx.render('impUser.html',{results:results});
和原来的view层代码
<script type="text/javascript">
var res={{results }}
</script>
和我一样是不是,然后就报错了,我擦!!!!!
前面有想的 直接json转就好了,如下
JSON.stringify(results)
但是,又变成这玩意,如图,好 开始说下解决方案

1、问题原因是被转义了(网上有说是出于nunjucks的安全策略)
2、知道问题就好办了,看我下面的代码,改下
view视图层
<script type="text/javascript">
var res={{results|safe }}
</script>
controller 控制器层
var results={
b:1
}
await ctx.render('impUser.html',{results:JSON.stringify(results)});
文章为博主原创,博客地址 https://blog.youkuaiyun.com/xuelang532777032 转载附上本文链接 博主wx : xuelangzhiye

本文主要探讨了在使用Egg.js框架中遇到的nunjucks模板引擎将对象渲染成[object Object]的问题。作者分享了遇到该问题的具体场景,即在试图渲染JSON对象时遇到了错误。通过分析,发现问题源于nunjucks的安全策略导致的对象转义。随后,作者提供了两种解决方案:一是理解并调整nunjucks的转义机制;二是直接在控制器和视图层进行代码修改。文章最后给出了修改后的控制器和视图层代码示例。
357

被折叠的 条评论
为什么被折叠?



