动态设置href锚标签不发送get请求

时间:2015-11-14 23:12:02

标签: javascript node.js express href

我不确定我在哪里搞砸了。基本上我是从我的数据库中读取来生成一个html页面并动态设置一些锚标签的hrefs。但是,当我单击链接时,页面只会重新加载并且不会向服务器发送GET请求。 Jade渲染的重要部分就在这里。

each val in tournaments

      a(href="/home/tournaments/?_id=" + val._id)

_id param只是MongoDB在创建时为文档提供的默认_id。

我也使用Express处理我的服务器端请求。与此相关的是:

app.route("/home/tournaments/:id")
        .get(function(req, res, next) {
            console.log("Request: " + req.query._id);
        }); 

单击锚标记时,没有任何内容打印到控制台,所以我猜它由于某种原因没有到达此路径。

任何人都可以解释我做错了什么以及我需要做些什么来解决它?

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题是您将ID放在查询字符串中而不是实际的url路径中。因此,为了使您现有的路线匹配,您需要改为:

each val in tournaments
  a(href="/home/tournaments/" + val._id)

然后使用req.params.id代替req.query._id

您可以将路线模式调整为/home/tournaments