当用户点击页面上3个链接中的任何一个链接时,我试图让Express将从Feed中检索到的一些数据发送回我的视图(.hbs)。
'not requested'值是首次加载页面时的初始值。我希望我的页面能够访问服务器并获取用户请求的源的数据。
server.js:
app.get('/', (req, res) => {
res.render('home.hbs', {
pageTitle: 'Feed reader',
pageHeading: 'Home page',
contents: _contents
});
});
我可以确认上述对象中的所有属性都具有预期值。理想情况下,页面在首次加载时不会显示任何Feed内容(或显示“未请求”之类的内容)。然后,当用户点击链接时,应在“tab-content”div中填充数据(见下文)。
home.hbs:
你今天想读什么?
<ul class="nav md-pills nav-justified pills-secondary">
{{#each contents}}
<li class="nav-item">
<a class="nav-link" data-toggle="tab" role="tab" href="#{{name}}">{{name}}</a>
</li>
{{/each}}
</ul>
<!-- Tab panels -->
<div class="tab-content">
<!--Panel 1-->
{{#each contents}}
<div class="tab-pane fade in" id="{{name}}" role="tabpanel">
<br>
<p>{{data}}</p>
</div>
{{/each}}
<!--/.Panel 1-->
</div>
如何保持同一页面,但能够根据点击的链接动态更新内容?我在想JQuery / AJAX,但由于我对它的使用经验非常有限,所以我不知道如何使用它们。对我来说,另一个难题是如何告诉express处理这个问题,因为我没有重定向或渲染新页面。
感谢这方面的任何帮助或指导。