我正在快递中创建一个小应用程序。这是一个问答应用程序。我遇到的问题是在查询字符串中。下面的查询字符串用于"问题"
http://localhost:3000/cards/3/?side=question
现在当我点击答案时,我得到以下查询字符串。
http://localhost:3000/cards/3/3?side=answer
以下是card.pug文件的代码。其底部有锚标记。
extends layout.pug
block content
section#content
h2= text
if hint
p
i Hint: #{hint}
a(href=`${id}?side=${sideToShow}`)= sideToShowDisplay
下面我有路由文件的代码,看起来好像。所以我不确定它是否与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; 关于我可能出错的地方的任何想法。我一直绞尽脑汁想出这个问题并且似乎无法弄清楚它为什么不起作用。
答案 0 :(得分:0)
错误在card.pug文件中。应该是。
a(href=`/cards/${id}?side=${sideToShow}`)= sideToShowDisplay
而不是。
a(href=`${id}?side=${sideToShow}`)= sideToShowDisplay
虽然,我很困惑为什么它重复了id?