简体   繁体   English

Express-使用通过外部JavaScript文件中的render函数接收的对象

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

I am passing an object from Express using the render function like so in my index.js file: 我正在使用index.js文件中的render函数从Express中传递一个对象:

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

I can use it in my chat.ejs file: 我可以在我的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>

A chat.js JavaScript file is linked to my chat.ejs file: chat.js JavaScript文件链接到我的chat.ejs文件:

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

However my external JavaScript doesn't know the user object when I want to output data inside the div tag: 但是,当我想在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);

Here is a picture of how my files are organize: 这是我的文件如何组织的图片: 我的文件

How can I use the user object in my external JavaScript ? 如何在外部JavaScript中使用用户对象?

In your chat.ejs you could expose the user as a JavaScript object: chat.ejs您可以将用户公开为JavaScript对象:

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

then you can access it as user from your code. 那么您可以从您的代码中以user身份访问它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在另一个函数中使用一个JavaScript函数接收的JSON对象? - How to use a JSON object received by one JavaScript function in another function? 如何在Express中使用外部javascript文件中的数据 - How to use data in external javascript file from express Nodejs,Express如何在外部JavaScript文件中传递变量以进行路由和使用? - Nodejs, Express How to pass variable to route and use it in external JavaScript file? 如何在HTML的外部Javascript文件中使用函数? - How to use a function in an external Javascript file in HTML? 使用来自外部 javascript 文件的函数 - Use function from external javascript file 在RegisterStartupScript方法中使用外部Javascript文件函数 - Use External Javascript File Function in RegisterStartupScript Method 在外部javascript文件中使用GetGlobalResourceObject函数 - use GetGlobalResourceObject function in external javascript file 如何在公共JS文件中使用通过Express res.render发送的JSON - How to use JSON sent via Express res.render in a public JS file Express response.send() JavaScript fetch() 未收到 object ... 为什么? - Express response.send() object not received by JavaScript fetch() … why? 使用jQuery通过json对象渲染JavaScript - Render javascript via json object with jquery
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM