嗨,我目前正在尝试使用 express 将对象传递给 nodejs 中搜索过滤器的 GET 请求,但我得到 404 GET/route1/search/[object%20Object] 404 1.148 ms - 38 的返回
我已经尝试使用 console.log(req.params.dataObject); 在终端中记录结果或 console.log(req.params.dataObject.option);但得到 [Object, Object] 或 Undefined 的结果
router.get('/search/:dataObject',
async function (req, res) {
try {
console.log(req.params.dataObject);
res.status(200).json(searchPhone);
} catch (err) {
return res.status(404).json({
error: err.message
});
}
});
我希望结果是 {option: 'some data', keyword: 'some data'}
最佳答案
如果不以某种方式对其进行编码,就无法将对象插入 URL。无论调用您的服务器的代码是否都在尝试执行此操作,并且 JavaScript 正在将对象转换为字符串,这就是 [object Object]
的位置。来自。这发生在您的服务器访问它之前。
您可能应该做的是使用查询字符串。这是您传递键/值参数的标准方式。例如,您的客户会调用:
GET /search?option=some%20data&keyword=some%20data
然后在您的服务器中,您可以使用:
req.query.option
req.query.keyword
关于node.js - 如何将对象传递给 GET 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876311/