[英]How to send data from express backend to ejs front end?
我正在嘗試一個Tutorials網站,因為我的某些頁面需要根據其登陸的路線向其發送Tutorials對象,視頻對象和User對象。 因此,即使我不需要前端,也需要發送空對象嗎? 我正在腳本標記中提取這些后端對象,並將其分配給窗口對象,以在角度客戶端中使用。
這是一些示例代碼。
// layout.ejs common to all front end views
<script>
window.user = <%- typeof user !== 'undefined'? JSON.stringify(user) : null %>
</script>
后端發送這種類型的代碼:
res.render('/partials/index', {
title: 'Title'
});
但是,當我不將用戶發送為null時,它將引發ReferenceError:用戶未定義。 為什么會這樣呢? 我正在檢查腳本標簽是否未定義,我使用的是null。 這是錯的嗎?
如果我們需要從后端顯式發送null,那么即使我不需要它,每次都發送null似乎很尷尬。 正確的做法是什么?
這是因為三元運算符會同時檢查兩個部分(包括與user
),即使由於條件為假也不會對其進行評估。
您要么必須包括以下內容:
let user = user || null;
或在渲染中發送明確的null。
抱歉,但是我找到了答案。 我們可以使用此設置。 是的,它使用null作為字符串。 好像不一樣
window.user = <%- typeof user === 'undefined' ? 'null': JSON.stringify(user) %>
我希望它可以幫助其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.