簡體   English   中英

如何將數據從Express后端發送到EJS前端?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM