当用户点击链接时,如何从服务器检索数据并更新页面上的内容?

时间:2018-02-12 03:05:52

标签: javascript node.js express handlebars.js

当用户点击页面上3个链接中的任何一个链接时,我试图让Express将从Feed中检索到的一些数据发送回我的视图(.hbs)。

Home Page

'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处理这个问题,因为我没有重定向或渲染新页面。

感谢这方面的任何帮助或指导。

0 个答案:

没有答案