如何使用express-handlebars视图引擎重新渲染部分而不是整页?

时间:2015-09-22 19:32:07

标签: jquery ajax express handlebars.js

考虑页面上有两个下拉列表的情况。国家/地区的下拉菜单,以及应根据从第一个菜单中选择的国家/地区更新的区域的下拉菜单。我们有一些后端逻辑,指示应如何填充每个下拉列表。 Ť

分音/地区dropdown.handlebars:

<select class="region" name="region" id="region">
  {{#each regionList}}
    <option value="{{@index}}">{{this}}</option>
  {{/each}}
</select>

当我第一次加载包含此部分的视图和布局时,使用第一次使用express渲染页面时传递的regionList数组正确填充区域下拉列表。

我有一个jquery ajax调用,只要该页面上的国家/地区下拉列表发生更改,它就会在region-dropdown.handlebars中的下拉列表中更新选项。我尝试使用以下代码重新呈现此部分:

/** Load Partial */
app.get('/region-dropdown', function(req, res) {
  res.render('partials/region-dropdown',
      {
        layout : false,
        data : {
          regionList : ["Austria", "Switzerland"]
        }
      }
  );
});

然而,渲染的只是没有任何选项的下拉列表。它看起来不像regionList数据成功传递给partial。如何确保部分将填充regionList数据?现在我能够成功地将partials / region-dropdown html传回ajax查询。问题是没有从提供的regionList数据生成选项。

0 个答案:

没有答案