html - 如何使用 express.js 获取选择选项的值?
问题描述
我想使用 express.js 使用 post 方法检索“值”参数。我可以轻松检索在输入中输入的值,但我无法从选择中提出选项。这是我尝试过的。
我的文件.js:
app.post("/dashboard/:guildID", checkAuth, async (req, res) => {
var storedSettings = await GuildSettings.findOne({ gid: guild.id });
if (!storedSettings) {
const newSettings = new GuildSettings({
gid: guild.id
});
await newSettings.save().catch(()=>{});
storedSettings = await GuildSettings.findOne({ gid: guild.id });
}
storedSettings.prefix = req.body.prefix
storedSettings.channel_test = req.body.channel_name
await storedSettings.save().catch(() => {});
});
myEJS.ejs 文件 (html):
<div>
<form method="POST">
<select>
<%
let channelsText = guild.channels.cache.filter(channel => channel.type == 'text');
channelsText.forEach(channel => { %>
<option name="channel_name" value="<%= channel.id %>">#<%= channel.name %></option>
<% }) %>
</select>
</form>
</div>
我删除了不必要的代码。
console.log(req.body.channel_name)
= undefined
。
我记得req.body.prefix
(来自输入标签)工作得很好。
解决方案
尝试向元素添加name
属性:select
<select name="channel_name">
<%
let channelsText = guild.channels.cache.filter(channel => channel.type == 'text');
channelsText.forEach(channel => { %>
<option name="channel_name" value="<%= channel.id %>">#<%= channel.name %></option>
<% }) %>
</select>
推荐阅读
- python - 运行 mxnet cpu 推理时内存泄漏
- linux - postgresql 何时需要写入文件“pg_logical/replorigin_checkpoint.tmp”?
- django - 如何解决错误''WSGIRequest'对象没有属性'user'”
- azure - 我无法在 Azure 中打开端口 7777
- c++ - 如何概括 std::chrono::duration(s)?
- grails - 如何使用 Spring Security 从控制器注销
- javascript - 在 netlify 上部署 next.js 应用程序,但一直失败
- javascript - 为什么日期对象中有值时显示为空?
- python - 重塑数组,使其适合机器学习模型
- java - 如何使用 Java Stream API 从给定的播放器列表中找到可能的组合对并匹配不同的对