有没有办法在ejs中的href中传递查询字符串?我希望能够单击链接并使用我的数据库查询中的链接参数。这是我正在玩的代码
//ejs view
<% if (data) { %>
<% data.forEach(function(car) { %>
<div class="card mb-3">
<a href="/cars/:id">
<div class="card-body text-center text-capitalize">
<div class="card-title"><%= car.brand %></div>
<p class="card-text text-muted"><%= car.color %> / <%= car.engine_type %></p>
</div>
</a>
</div>
<% }) %>
<% } %>
在我的路线文件中,我想像这样查询
router.get('/cars/:id?', function(req, res) {
var carId = req.params.id;
res.locals.connection.query('SELECT * FROM cars WHERE id = ?', [carId], function(err, row) {
if(err) {
console.log(err);
} else {
res.send(row);
}
});
});
现在,当我运行我的应用程序时,我获得304状态,因为我没有传回ID。我怎么能把它传回去?我不知道,也没有成功搜索。
答案 0 :(得分:0)
最终发现id可以在href中传递,同时使用ejs显示car对象。在这种情况下,href="/cars/<%= car.id %>"