将查询作为参数传递给 express

Pass query as parameter to express

我目前有一个 ejs 文件,其中有一个 table 元素,其中每一行都可以点击,如下所示: <tr onclick="myFunction(this)">

我使用 javascript 尝试将查询作为参数传递到 http 请求中:

<script>
        function myFunction(x) {
            num = parseInt(x.cells[0].textContent);
            window.location = '/shownumber?n=num';
        }
</script>

在我的 routes 文件中,我创建的路由如下:

app.get('/shownumber', db.getSelectedNum)

然后我有一个 queries.js 文件,我尝试使用 console.log 打印出值(用于测试目的):

const getSelectedNum = (request, response) => {
    console.log(n);
}

当我点击 table 行时出现以下错误:

ReferenceError: n is not defined

我做错了什么/我怎样才能正确地将此参数作为查询传递,以便我可以在 getSelectedNum 函数中使用它?

console.log(n) 会中断,因为您从未定义过“n”,它不存在。为了获得它,您需要将 requestrequest.query.

之类的东西一起使用

如果您使用的是快递,它已经为您做好了。您可以简单地使用 req.query

let n = request.query.n; // GET["n"]