zoukankan      html  css  js  c++  java
  • ejs模板数据传入js

    最近项目遇到后台数据传入ejs模板,但前端因为制作聊天室功能需要,用户的信息。通过jade方法的思考,和查阅资料找到方法。

    第一步

    <script>
    var uid = '<%=user._id%>'

    <script>

    原理:后台模板原理就是拼接字符串,所以可以直接使用ejs语法,在html页面内部,将后台模板值赋给一个变量

    问题:如果在引用一个外部js,发现外部js并不能使用该方法得到值,原因就是外部js属于服务器静态文件,只有.ejs文件才能拿到后台数据

    第二部(解决上一个问题)

    解决方式:外部不能引用就内部引用喽,var 一个全局变量自然就传递过去了

    <script>
    var uid = '<%=user._id%>'

    <script>

    <script src="/static/js/out.js"></script>

    问题:传递一个字符串是可以了,但当你传递var uid = '<%=user%>'一整个对象时候发现拿到值是[object object]

    第三步(同上)

    解决方式:发现ejs的转义语法并不能转出我们想要的对象,所以先用ejs语法将其字符串化,在用非转义直接复制给一个变量。使用时在将字符串对象转义回真正对象。

    <script>

    var user = '<%- JSON.stringify(user) %>'

    </script>

    out.js

    console.log(JSON.parse(user));

  • 相关阅读:
    周鸿祎笔录
    set multiset 集合实现众数的统计
    栈实现 汉诺塔 操作是否符合规范
    优先队列----解决排序问题
    字符串的应用(续一)
    优先队列 的实例(未完----待续)
    字符串的应用
    栈实现括号
    Jave垃圾回收算法
    Java 按代回收垃圾以及回收算法
  • 原文地址:https://www.cnblogs.com/LiSuSpAu/p/7923167.html
Copyright © 2011-2022 走看看