将查询作为参数传递给 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”,它不存在。为了获得它,您需要将 request
与 request.query
.
之类的东西一起使用
如果您使用的是快递,它已经为您做好了。您可以简单地使用 req.query:
let n = request.query.n; // GET["n"]
我目前有一个 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”,它不存在。为了获得它,您需要将 request
与 request.query
.
如果您使用的是快递,它已经为您做好了。您可以简单地使用 req.query:
let n = request.query.n; // GET["n"]