使用 Json 数据呈现 HTML 页面
Render HTML Page with Json data
我有这个问题:
我有一个使用 router.get (Express) 服务的获取请求。
在这个函数中,我用来从我的 sql 数据库中获取数据。现在我有 JSON 格式的数据。
我想将 json 数据传递给车把,并使用 html 内呈现的数据将响应发送给客户端仅(渲染完全在服务器端进行)。
也许我有点困惑:
我想做什么有解决方案吗?
快递:
//CHAT
router.get('/chatlist', ensureAuthenticated, (req,res)=>{
let mittente = req.user.id;
findUsersChat(mittente)
.then(Chats=>{
getChatData(Chats,mittente).then(ChatList=>{
console.log("Lista2: " +ChatList);
var obj=JSON.parse(ChatList);
res.render('chatlist') ;
})
.catch(err=>console.log(err))
});
})
车把
<section id="gigs" class="container">
<h1>Chats Available</h1>
{{#each obj}}
<h1>{{Nome}}</h1>
<div class="form-group">
<form method="POST" action="/users/chat">
<p>Utente numero : {{@index}}</p>
<label for="name" value={{Nome}}>{{Nome}}</label>
</form>
</div>
{{/each}}
</section>
您似乎没有将数组 (ChatList) 传递给您的视图。
您可以通过将代码更改为:
...
getChatData(Chats,mittente).then(ChatList=>{
console.log("Lista2: " +ChatList);
res.render('chatlist', {objects: ChatList}) ;
})
...
通过这样做,一个数组 "objects" 将在您的视图中可用,您可以对其进行迭代。
您的页面现在应该变成:
<section id="gigs" class="container">
<h1>Chats Available</h1>
{{#each objects}}
<h1>{{./Nome}}</h1>
<div class="form-group">
<form method="POST" action="/users/chat">
<p>Utente numero : {{@index}}</p>
<label for="name" value={{./Nome}}>{{./Nome}}</label>
</form>
</div>
{{/each}}
</section>
我有这个问题:
我有一个使用 router.get (Express) 服务的获取请求。
在这个函数中,我用来从我的 sql 数据库中获取数据。现在我有 JSON 格式的数据。
我想将 json 数据传递给车把,并使用 html 内呈现的数据将响应发送给客户端仅(渲染完全在服务器端进行)。
也许我有点困惑:
我想做什么有解决方案吗?
快递:
//CHAT
router.get('/chatlist', ensureAuthenticated, (req,res)=>{
let mittente = req.user.id;
findUsersChat(mittente)
.then(Chats=>{
getChatData(Chats,mittente).then(ChatList=>{
console.log("Lista2: " +ChatList);
var obj=JSON.parse(ChatList);
res.render('chatlist') ;
})
.catch(err=>console.log(err))
});
})
车把
<section id="gigs" class="container">
<h1>Chats Available</h1>
{{#each obj}}
<h1>{{Nome}}</h1>
<div class="form-group">
<form method="POST" action="/users/chat">
<p>Utente numero : {{@index}}</p>
<label for="name" value={{Nome}}>{{Nome}}</label>
</form>
</div>
{{/each}}
</section>
您似乎没有将数组 (ChatList) 传递给您的视图。 您可以通过将代码更改为:
...
getChatData(Chats,mittente).then(ChatList=>{
console.log("Lista2: " +ChatList);
res.render('chatlist', {objects: ChatList}) ;
})
...
通过这样做,一个数组 "objects" 将在您的视图中可用,您可以对其进行迭代。
您的页面现在应该变成:
<section id="gigs" class="container">
<h1>Chats Available</h1>
{{#each objects}}
<h1>{{./Nome}}</h1>
<div class="form-group">
<form method="POST" action="/users/chat">
<p>Utente numero : {{@index}}</p>
<label for="name" value={{./Nome}}>{{./Nome}}</label>
</form>
</div>
{{/each}}
</section>