我使用pg node-module与postgres建立了联系。由于我是javascript的新手,我需要帮助我从数据库中读取数据并通过ejs模板显示它。 代码段:
ws.post('/select',function(req,res){
var vill = req.body.Inputvillage;
pg.connect(conString,function(err,client,done){
if(err){
return console.error('Could not connect to postgres' , err);
}
var results = [];
var query = client.query("SELECT * FROM \"Area_info\" WHERE \"Folder_Name\" = $1",[vill],function(err,result){
query.on('row', function(row) {
results.push(row);
});
query.on('end', function() {
done();
return res.json(results);
});
});
});
答案 0 :(得分:0)
var query = client.query("SELECT * FROM \"Area_info\" WHERE \"Folder_Name\" = $1",[vill],function(err,result){
query.on('row', function(row) {
results.push(row);
});
query.on('end', function() {
done();
view_data = JSON.stringify(results);
// return res.json(results);
res.render('template',{ view_data:'view_data'); // here template is the name of your ejs file
});
});
之后,您可以在您的ejs文件中使用,如:
<select style="width:15%;" required="required" name="categ" >
<option style="width:15%;" value="">Select Category</option>
<% for(var d=0;d<view_data.length;d++)
{ %>
<option style="width:20%;" name="category" value=<%= view_data[d].name %>><%= view_data[d].name %></option>
<% } %>
</select>
此处名称会假设您的列名。
并且不要忘记在主文件中设置:app.set('view engine', 'ejs');