【发布时间】:2021-01-02 22:36:36
【问题描述】:
我正在尝试使用 ajax 向我的节点快速路由发送 GET 请求,但我不知道如何解码 URI 参数。
这是发送到请求 GET /exercises/Day%201 的内容。
我想解码它,所以它会像 --> 第 1 天
那么我的查询将类似于
const program = await Program.findOne({ user: req.user.id })
.populate({
path: 'exercises',
match: { dayOfWeek: Day 1 }
})
.exec();
JS 文件
$('#dayOfWeek').on('change', function() {
const dayOfWeek = $('#dayOfWeek').val();
const encoded = encodeURI(dayOfWeek);
$.ajax({
type: 'GET',
url: `/exercises/${encoded}`,
dataType: 'json'
}).done((programs) => {
console.log(programs);
});
});
路由文件
router.get('/:dayOfWeek', async (req, res) => {
try {
const dow = req.params.dayOfWeek;
const program = await Program.findOne({ user: req.user.id })
.populate({
path: 'exercises',
match: { dayOfWeek: dow }
})
.exec();
//.lean();
res.send(program);
}
感谢大家的帮助。
【问题讨论】: