javascript - 为什么我在尝试访问获取请求后返回的对象时未定义?
问题描述
所以,我目前在我的第一个 node.js 项目上工作,在那里我创建了一个 api。我想创建一个端点,我想在 GET 请求方法中提供 3 个参数:“base”、“target”和“amount”,在从 mongoDb 检索数据和适当的计算后,我希望响应返回以目标货币给出的给定金额!问题是要访问我得到未定义的比率!
我的这个端点的代码是:
router.get('/convert', async(req,res)=>{
let base = req.body.base;
let target = req.body.target;
let amount = req.body.amount;
const getRatios = await Ratios.findOne({base: base});
if(!getRatios) return res.status(400).send('No such a currency found');
try{
res.send(getRatios.ratios.target);
}
catch(err){
console.log('something bad happened');
console.log(getRatios.ratios);
}
})
达到存储比率值的唯一方法是在我硬编码我想要访问的所需“目标”之后在控制台中!例如console.log(getRatios.ratios.target)
返回 undefined 但console.log(getRatios.ratios.AUD)
返回 AUD 的汇率
这仅适用于控制台,但是当我尝试获得响应时:
res.send(getRatios.ratios.target)
或res.send(getRatios.ratios.AUD)
什么都不返回!
工作res.send(getRatios.ratios)
正常并返回:
{
"EUR": 0.82110323,
"AUD": 1.2923873,
"JPY": 109.49154,
"USD": 1,
"CHF": 0.89690769
}
但是我想访问对象的值!
解决方案
推荐阅读
- c# - 显式等待不同的形式
- ruby-on-rails - Rails 指定所需的范围
- python - 我需要从python中的列表中提取每个字典吗?
- java - 如何在 Java 中打开 Excel 工作簿并删除所有只有标题行的工作表
- jquery - :active 伪类无法正常工作
- java - 有什么方法可以避免在 java map-struct 中使用原始字符串?
- javascript - 基于昨天在 Firestore 中的“何处”条件?
- python - tkinter 中的 button_press_event(仅左键单击)
- ios - 如何根据 UISwitch 所在的单元格更改 UISwitch 的功能
- javascript - 在 Angular 中使用 push 方法更新对象数组