簡體   English   中英

Express-使用通過外部JavaScript文件中的render函數接收的對象

[英]Express - Use object received via the render function in an external JavaScript file

我正在使用index.js文件中的render函數從Express中傳遞一個對象:

app.get("/chat", function(req, res){
  res.render("chat", {user: req.user});
});

我可以在我的chat.ejs文件中使用它:

<% if(!user){ %>
  <li><a href="/auth/login">Connexion</a></li>
<% } else{ %>
  <li><a href="/profile">Profil</a></li>
  <li><a href="/chat">Chat</a></li>
  <li><a href="/auth/logout">Déconnexion</a></li>
<% } %>

<div id="output"></div>

chat.js JavaScript文件鏈接到我的chat.ejs文件:

<script defer type="text/javascript" src="/script/chat.js"></script>

但是,當我想在div標簽內輸出數據時,我的外部JavaScript不知道用戶對象:

typingFeedback.innerHTML = "<img src=" + user.thumbnail + "alt='Profile Image />";
let newP = document.createElement("p");
let newTxt = document.createTextNode(data.message);
newP.appendChild(newTxt);
output.appendChild(newP);

這是我的文件如何組織的圖片: 我的文件

如何在外部JavaScript中使用用戶對象?

chat.ejs您可以將用戶公開為JavaScript對象:

 <script>
  var user = <%- JSON.stringify(user) %>;
</script>

那么您可以從您的代碼中以user身份訪問它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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