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));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM