就像我的标题所说的那样,我正在尝试使用包含JSON数据('/ home / playback / json')的AJAX请求从路由中提取数据。但是,除非完成查询,否则此数据将不存在。但是,我试图从客户端页面(playback.ejs)合并此数据,但无法将查询连接到连接到数据库的路由。有什么想法或文档可以尝试吗?
AJAX请求
$(document).ready(function () {
$('#search').on('submit', function() {
$.ajax({
url: "http://localhost:8080/home/playback/json",
contentType: "application/json",
dataType: 'json',
success: function (data) {
console.log(data);
},error: function () {
alert('error');
},
type: "GET",
});
});
});
Route.js
app.get('/home/playback', function (req, res) {
res.render('playback.ejs');
});
app.get('/home/playback/json', function (req, res) {
//database connection
dbconnection.query("SELECT * FROM myTable WHERE FILE_NUM LIKE '%" + req.query.searchFileNumber + "%' LIMIT 5", function (err, rows, fields) {
if (err) throw err; //Show any errors
var data = [];
for (i = 0; i < rows.length; i++) {
data.push(rows[i]);
}
res.json(data);
});
});
最佳答案
我可能会丢失一些东西,但这行不通吗?
$.ajax({
url: "http://localhost:8080/home/playback/json?searchFileNumber=1",
....
另外:注意SQL注入漏洞。如果没有适当的用户输入卫生条件,任何人都可能会删除您的数据库。