使用ejs时如何使用url查询字符串

时间:2017-12-11 13:56:06

标签: mysql node.js ejs

有没有办法在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。我怎么能把它传回去?我不知道,也没有成功搜索。

1 个答案:

答案 0 :(得分:0)

最终发现id可以在href中传递,同时使用ejs显示car对象。在这种情况下,href="/cars/<%= car.id %>"