【问题标题】:How to pass a value from EJS to Node.Js如何将值从 EJS 传递到 Node.Js
【发布时间】:2020-04-22 07:46:34
【问题描述】:

我想获取我的 EJS 模板上显示的 id 值以在 MSSQL 上执行查询,但我不知道如何将此值传递给我的 NODE 函数,我的代码:

function selected(id) { // id is the value that I want to get in EJS tamplate
    return new Promise((res, rej) => {
        sql.connect(config, err => {
            if (err) return resolve(err);
            var request = new sql.Request();
            request.query(`select * from license where license_id = ${id}`, (err, selected) => {
                if (err) return reject(err);
                var result = JSON.parse(Json.stringify(selected));
                resolve(result);
            })
        })
    })
}

这是我想要获取值的 Ejs 模板上的表格:

        <% for (var i = 0; i < data.recordset.length; i++) { %>
        <tr>
            <th scope="row"><a href="/seleted"><%= data.recordset[i].license_id %></a></th> <!-- This is the value that I want to get on the other side -->
            <td><%= data.recordset[i].request_approval %></td>
            <td><%= data.recordset[i].license_description %></td>
            <td><%= moment(data.recordset[i].beginning_date).format('DD/MM/YYYY') %></td>
            <td><%= moment(data.recordset[i].end_date).format('DD/MM/YYYY') %></td>
            <td><%= data.recordset[i].quantity %></td>
        </tr>
        <% } %>

【问题讨论】:

  • 这将与您将data 放入模板中的方式相同。

标签: node.js sql-server express ejs


【解决方案1】:

您必须在应用中创建一个端点,例如带有查询字符串 /seleted?id="your_id" 的 GET 请求

    <table class="table table-striped">
<thead>
    <tr>
        <th>id</th>
        <th>request_approval</th>
        <th>license_description</th>
        <th>beginning_date</th>
        <th>end_date</th>
        <th>quantity</th>
    </tr>
</thead>
<tbody>
<% for (var i = 0; i < data.recordset.length; i++) { %>
<tr>
    <td><a href="/seleted?id=<%= data.recordset[i].license_id %>">id</a></td>
    <td><%= data.recordset[i].request_approval %></td>
    <td><%= data.recordset[i].license_description %></td>
    <td><%= moment(data.recordset[i].beginning_date).format('DD/MM/YYYY') %></td>
    <td><%= moment(data.recordset[i].end_date).format('DD/MM/YYYY') %></td>
    <td><%= data.recordset[i].quantity %></td>
</tr>
<% } %>
</tbody>

获取您的查询字符串:

app.get('/seleted', function (req, res) {

    let id = req.query.id;
    var licence = await selected(id);

});

【讨论】:

    猜你喜欢
    • 2018-09-07
    • 2018-08-18
    • 2022-01-05
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2021-03-13
    相关资源
    最近更新 更多