基于HTML选择选项执行Node.JS查询

时间:2016-02-28 20:19:20

标签: javascript mysql ajax node.js

我正在尝试根据用户从我网站的选择选项中选择的内容,对mySQL数据库执行特定查询。

HTML:

<select id = "year">
<option value = "yr" selected>Choose a Year</option>
<option id = "2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
</select>

Node.js的:

    function handleDatabase(request,response){
     pool.getConnection(function(err, connection){
    //Check if there's an error, if so, stop connection and print error
      if(err){
        connection.release();
        response.json({"code": 50, "status": "Error in connection to database"});
        return;
    }
    connection.query("select * from 'fifteen' where TYPE = 'Mischief'", function(err, rows){
      connection.release();
      if(!err){
        response.json(rows);
      }
    });
      response.json({"code": 50, "status" : "Error in connection to database"});
      return;
    });
  });
}

app.get('/',function(request,response){
    handleDatabase(response,request);
    }

AJAX:

$(document).ready(function(){
    $('#year').click(function() {
            $.ajax({
                type: 'GET',
                url: 'http://localhost:8888/',
                dataType: 'json',
                success: function () {
                    console.log("Success");
                },
                error: function (data) {
                    console.log("Error.", data);
                }

            });
    });
});

我希望用户能够选择他们想要的年份,然后在服务器上执行AJAX请求,然后对数据库执行查询。例如,用户选择2014,向服务器发出AJAX请求,然后服务器对表执行查询,十四,并从中返回所有数据。

1 个答案:

答案 0 :(得分:1)

一种解决方案是仅使用快速中间件用于动态URL参数:

var express = require('express');
var router = express.Router();

router.get('/yearQuery/:year', function(req, res) {
  var year = req.params.year;

  // Your code

  res.json(//year data object);
});

Ajax请求变为:

$.ajax({
  type: 'GET',
  url: 'http://localhost:8888/yearQuery/' + year,
  dataType: 'json',
  success: function () {
    console.log("Success");
  },
  error: function (data) {
    console.log("Error.", data);
  }              

我留给你填写剩下的部分(例如年份值的文件ID选择器)。