就像我的标题所说的那样,我正在尝试使用包含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注入漏洞。如果没有适当的用户输入卫生条件,任何人都可能会删除您的数据库。

09-25 18:26
查看更多