Javascript 当我点击答案锚链接时得到404

Javascript 当我点击答案锚链接时得到404,javascript,express,routing,Javascript,Express,Routing,当我点击card.pug文件中的答案链接时,我得到了一个404 extends layout.pug block content section#content h2= text if hint p i Hint: #{hint} a(href=`${id}?side=${sideToShow}`)= sideToShowDisplay card.pug文件的路由文件如下所示: const express = require('express'); const router =

当我点击card.pug文件中的答案链接时,我得到了一个404

extends layout.pug

block content
section#content
h2= text
if hint
  p
    i Hint: #{hint}
 a(href=`${id}?side=${sideToShow}`)= sideToShowDisplay
card.pug文件的路由文件如下所示:

const express = require('express');
const router = express.Router();
const { data } = require('../data/flashcardData.json');
const { cards } = data;

router.get('/:id', (req, res) => {
const { side } = req.query;
const { id } = req.params;
const text = cards[id][side];
const { hint } = cards[id];

const templateData = { id, text };

if (side === 'question') {
templateData.hint = hint;
templateData.sideToShow = 'answer';
templateData.sideToShowDisplay = 'Answer';
} else if (side === 'answer') {
templateData.sideToShow = 'question';
templateData.sideToShowDisplay = 'Question';
}

res.render('card', templateData);
});

module.exports = router;

我不知道为什么会这样。任何帮助都将不胜感激。它从数据文件夹中的JSON文件中提取数据。

您可以使用anchor
href='user single code here'

范例

a(href=`${id}?side=${sideToShow}`)= sideToShowDisplay
用下面的代替上面的

a(href='${id}?side=${sideToShow}')= sideToShowDisplay

它对我有效

首先,找出问题出在客户端还是服务器上。链接实际重定向到哪里?这是正确的URL吗?如果是这样的话,那么忽略pug文件,并将其视为有关express代码的问题。如果不是,这是一个关于pug文件的问题。我注意到在查询字符串中它重复了id。正如您所看到的,问题是id在开始之前是否重复?马克。看来问题出在客户端:
id
应该是
/cards/4
,而不是
/cards/4/4
。你能告诉我从哪里调用
layout.pug
吗?
doctype html(lang=“en”)head title flash Cards body include/header.pug block content include/footer.pug
关于如何修复这个问题有什么想法吗?