【发布时间】:2016-03-06 16:12:20
【问题描述】:
我是 node.js 和 express 的新手。我正在编写一个 node.js 应用程序,它使用 express 和 express-handlebars 作为我的模板框架。我想实现一个依赖选项列表,它将根据另一个选项列表的选定值呈现。
到目前为止,这是我所拥有的:
这是我的父选项列表
<select id="buildingsSelect" class="building-select-add "name="residentBuildings">
{{#each buildingRows}}
<option value="{{idBuildings}}" name={{Name}}>{{Name}}</option>
{{/each}}
</select>
当用户选择一个建筑物时,我发出一个ajax请求,
$('.building-select-add').change(function(){
var buildingId = $('.building-select-add').val();
$.ajax({
type: 'post',
url: '/resident_add/' + buildingId,
success: function(data) {
location.reload();
},
error: function(err) {
console.log('------------ Error while updating this resident: ' + err);
console.log('------------ Error while updating this resident: ' + err.message);
}
});
});
并将用于进行数据库调用的值发送到 Residents 数据库。
router.post('/:buildingId', function(req, res){
var buildingId = req.params.buildingId;
console.log('OOOOOO buildingId: ' + buildingId);
var resList = [];
connection.query('select idResidents, Name from Residents where BuildingId = ?', buildingId, function(err, rows){
if (err) {
console.log('----------------------- ERROR: Error querying records - ' + err);
console.log('----------------------- ERROR: ' + err.message);
return err;
}
resList = rows;
});
});
我希望居民显示在另一个选择中,但我无法填充它。
如何在页面上呈现选择?如果我在 ajax 中执行 location.reload() ,则会重新加载整个页面。有没有办法做到这一点?
【问题讨论】:
标签: javascript ajax node.js express handlebars.js