Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql nodejs、expressjs和jade中未提取参数_Mysql_Node.js_Express_Pug - Fatal编程技术网

Mysql nodejs、expressjs和jade中未提取参数

Mysql nodejs、expressjs和jade中未提取参数,mysql,node.js,express,pug,Mysql,Node.js,Express,Pug,我有一个带有两个选择菜单的页面和一个显示数据的表格。我用“get”从MySQL获取数据并填充选择菜单,现在当我点击“submit”按钮时,它应该会在下表中显示数据,而不会刷新页面。我是新来的 App.js app.get('/home', function(req, res){ db.connect(function(err){ var sale = req.query.cbosale; var company = req.query.cbocompan

我有一个带有两个选择菜单的页面和一个显示数据的表格。我用“get”从MySQL获取数据并填充选择菜单,现在当我点击“submit”按钮时,它应该会在下表中显示数据,而不会刷新页面。我是新来的

App.js

    app.get('/home', function(req, res){
     db.connect(function(err){
      var sale = req.query.cbosale;
      var company = req.query.cbocompany;
       db.query("SELECT DISTINCT(SaleNo) FROM tsales; SELECT DISTINCT(Company) FROM tcompany; SELECT * FROM trecords WHERE SaleNo = '"+sale+"' AND Company = '"+company+"'", [1,2,3], function(err, result, fields){
        res.render('home', {title:"Home",data:result});
       })
      })
   })
杰德之家

    script.
     $('#submit').click(function(){
      var cbosale = $('#cbosale').val();
      var cbocompany = $('#cbocompany').val();
      $.get("/home", {cbosale: cbosale, cbocompany: cbocompany), function(data){
       $('#showdata').show();
      })
     })
    })

当我在查询中插入静态变量时,会显示数据,传递参数时不会显示数据。获取参数时可能会出现问题。

我立即发现您的代码有两个问题

最重要的是——不是关于主题,但很重要——您的服务器易受SQL注入攻击——这是一个主要的安全漏洞,您应该修复它。例如,见:

关于你的主要问题。您根本不使用请求的结果。 回调的
数据
根本不被使用。您的
$.get
回调应该类似于以下内容:

function(data){
    $('#dataTitle').val(data.title);
    $('#dataResult').val(data.result); // assuming result is plain string or number 
    $('#showdata').show();
}

它仍然不起作用,我注意到,当我正常运行页面时,url是这样的:“。但是,当我像这样编辑url时,“”,数据就会显示出来。无论如何,console.log中的查询在这两种情况下都会显示查询中的参数。