首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在node.js应用程序中不工作的多个控件字段

问在node.js应用程序中不工作的多个控件字段
EN

Stack Overflow用户
提问于 2018-07-18 12:39:03
回答 1查看 36关注 0票数 0

我一直在使用nodejs、express、玉和mysql创建一个应用程序。问题是前端有两个select菜单,需要从两个mysql表中获取数据。我只能拿一个。我是新手,所以请帮帮我。

Output.jade文件:-

代码语言:javascript
复制
    block sale
     select(id="cbosale", name="cbosale", class="custom-select custom-select-sm")
      option(value="") Select Sale
      each variable in data
       option(value=variable.SaleNo) #{variable.SaleNo}
    block state
     select(name="cbostate", id="cbostate", class="custom-select custom-select-sm")
      option(value="") Select State
      each state in data
       option(value=state.Statename) #{state.Statename}

App.js文件:-

代码语言:javascript
复制
    app.get('/output', function(req, res){
     db.connect(function(err){
      db.query("SELECT DISTINCT(SaleNo) FROM tsales", function(err, result, fields){
       res.render('output', {title:"Output",data:result});
      })
      db.query("SELECT DISTINCT(Statename) FROM tstates", function(err, result, fields){
       res.render('output', {title:"Output",data:result});
      })
    })
   })

我知道我错过了在哪个查询上显示哪个下拉列表,但我不知道如何呈现。请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 13:11:42

  1. 你不能渲染同一页两次。res.render(...用于编译(put值,生成视图)并将其发送到服务器。
  2. 您可以在一个语句中使用多个查询。请查看这就是答案如何做到这一点。然后,您可以使用这两个响应一起呈现页面一次。答案的要点是 var connection = mysql.createConnection({multipleStatements: true});

请注意,根据文档的说法

出于安全原因,禁用了对多个语句的支持(如果值没有正确转义,则允许SQL注入攻击)。

确保在查询前清理服务器端的输入。一旦启用,您就可以通过用分号;分隔每个语句来执行多个语句的查询。结果将是每个语句的数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51402253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档