node.js - 如何将对象传递给 GET 请求?

标签 node.js mongodb express mongoose

嗨,我目前正在尝试使用 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/

相关文章:

mysql - 在 Dialogflow API V2 数据库调用中使用 Promise 无法获得期望的结果

node.js - 使用 Mongoose 和 Node.js 删除 MongoDB 中一对多和多对多关系中的引用

node.js - res.send() 不发送当前响应,而是保留最后一个响应

node.js - Websocket 无故断开连接并出现 1006 错误

javascript - Meteor - 用铁路由器返回2组数据

mongodb - 为什么我在重新编译后第一次访问数据库时会出现套接字超时?

node.js - 快速应用程序使用

node.js - 如何在 Node.js 中创建绝对链接?

javascript - Express、http-proxy-middleware 和 net::ERR_CONNECTION_REFUSED

node.js - npm install web3 安装失败 : undefined ls-remote