如何将url参数传递给快递j

时间:2017-03-12 13:08:25

标签: javascript node.js express

我的server.js中有以下代码:

app.get('/animal/:id', function (request, response)
{
    Animal.find({_id: request.params.id}, function(err, animals)
    {
        response.render('animal', { animals: animals });
    })
})

我正在尝试将动物ID显示在模板网址中。

           <table border='1'>
                <tr>
                    <th>Name</th>
                    <th>Actions</th>
                </tr>
            <% for (var i in animals){ %>
                    <tr>
                        <td><a href='/animal/?id=**ID RIGHT HERE** %>><%= animals[i].name %></a></td>
                        <td><a href='#'>Edit</a> <a href='#'>Delete</a></td>
                    </tr>

            <% } %>
            </table>  

如果我只是放入animals [i] ._ id,它会将其视为字符串,但如果我将其写为&lt;%= animals [i] ._ id%&gt;,则会删除整个列。

1 个答案:

答案 0 :(得分:0)

使用表达式,不应将其作为查询发送。

<%= animals[i]._id %>将在您的server.js中用作params id,而<%= animals[i].name %>用作锚标记名称

       <table border='1'>
            <tr>
                <th>Name</th>
                <th>Actions</th>
            </tr>
        <% for (var i in animals){ %>
                <tr>
                    <td><a href='/animal/<%= animals[i]._id %>'><%= animals[i].name %></a></td>
                    <td><a href='#'>Edit</a> <a href='#'>Delete</a></td>
                </tr>

        <% } %>
        </table>