【发布时间】:2022-02-17 06:27:21
【问题描述】:
我是一名 Web 开发学生,正在努力完成我们在第一周将 XML 数据导入一个简单的 Node.JS 项目的练习。
对于练习,我需要从图书馆分支的 XML 文件中引入数据,使用它来填充下拉菜单,一旦提交,用户将进入一个新页面,该页面显示基于特定分支的信息所选选项标签的提交 ID 值。
我能够通过简单的锚重定向来实现这个概念,但是一旦我将一个表单加入其中,我就没有成功。
这是我的表单的简化版本。我不确定我是否正确设置了action参数:
<form method="get" action="/branch/">
<select name="branchSelect" id="branchSelect">
<option value="id1">Branch 1</option>
<option value="id2">Branch 2</option>
</select>
<input type="submit" value="Confirm"/>
</form>
这是我的 index.js 中的当前代码,用于访问我想要访问的页面
app.get("/branch/:id", (req, res) => {
let id = req.params.id;
let branch = getBranchById(id);
let title = branch.querySelector("name").textContent;
res.render("branch", {title: title, branch: branch})
});
我相当确定我的问题与我如何设置表单操作以及表单提交后如何访问/解释我的 GET URL 中的分支 ID 数据有关。这篇文章 (How to access the GET parameters after "?" in Express?) 似乎显示了类似问题的解决方案,但是在我的 javascript 中使用 req.query.id 而不是 req.params.id 对我不起作用。
如果能提供任何建议,我将不胜感激。我是新来的,所以很抱歉,如果这很简单,我只是想念。
【问题讨论】: