我的Jade View中有几个锚标签,它们具有所有的唯一href值,我使用mongodb
从foreach
检索到的数据生成锚标记,每个锚标记我都是在processinreq/
之后插入ID为#{item._id}
这是我在翡翠中的代码:
!!! 5
html
head
title= title
meta(name='viewport', content='width=device-width, initial-scale=1.0')
link(href='/css/bootstrap.min.css', rel='stylesheet', media='screen')
script.(src='js/jquery.js')
script.(src='js/bootstrap.min.js')
style.(type='text/css')
tr {border:1px solid grey;}
td {border:1px solid grey;}
body
.container
h1 View Requests Page
p #{email}
table
tbody
- if(raw.length)
each item in raw
tr
td
a(href='/processinreq/#{item._id}', id="idanch") #{item._id}
td
a(href='/processinreq/#{item._id}', id="rqstanch") #{item.request}
td
a(href='/processinreq/#{item._id}', id="descanch") #{item.description}
在我的routes.js
文件中,我正试图像这样收到href
app.post('/processinreq/:req_id', function(req, res) {
var req_id = req.params.id;
console.log(req_id);
Requests.find({ 'id':req.user.id }, function (err, data) {
if(err) {}
res.render('inreq', { user:req.user, raw:data, requestedid:req_id });
});
});
但console.log(req_id)
显示为undefined
。如何将req_id
变量传递给我inreq
以上res.render
呈现的req_id
玉视图。我传递了{{1}}变量,但是在Jade中如果我使用它,则显示为requestedid的值,即在Jade中的#{requestedid}
答案 0 :(得分:0)
因为您在路由中将标记指定为:req_id
,所以express会在params对象上添加一个名为req_id
的字段。
我认为将变量赋值更改为以下内容可以解决问题。
var req_id= req.params.req_id;
查看关于路由和参数的expressjs文档:http://expressjs.com/api.html#req.param
Express'文档非常简单。
在http://tagtree.tv查看我的一系列完整堆栈JavaScript截屏视频。