我正在尝试根据用户从我网站的选择选项中选择的内容,对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请求,然后服务器对表执行查询,十四,并从中返回所有数据。
答案 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选择器)。