【问题标题】:Sending an object, in a get request, in params, in postman在获取请求中、在参数中、在邮递员中发送对象
【发布时间】:2021-06-12 21:06:38
【问题描述】:

我是这个网站的新手,我几天前打开了这个用户。

我想发送一个获取对象请求,我通过邮递员完成。

我正在尝试这样做,但它不适合我,我可能在某个地方遇到了小问题。

这就是我想要做的。

在邮递员中:

axios 获取请求:

app.get('/realtimeConversations', FBAuth, getRealtime);

我在服务器端运行的函数。

exports.getRealtime= (req, res) => {

    console.log(JSON.stringify("testing"));
    console.log(JSON.stringify(req.query));
    console.log(req.query.user);
    console.log(req.query.user.uid_1);
    console.log(req.query.user.uid_2);

        return res.json([]);
}

我尝试改用 JSON.parse,但这对我不起作用:\

exports.getRealtime= (req, res) => {

    console.log(JSON.stringify("testing"));
    console.log(JSON.stringify(req.query));
    console.log(JSON.parse(req.query.user));
    console.log(JSON.parse(req.query.user).uid_1);
    console.log(JSON.parse(req.query.user).uid_2);

        return res.json([]);
}

我可以获取对象,但我无法访问其中的值

这些是我在 firebase 上得到的照片:

【问题讨论】:

  • 你能得到req.query.user吗?我认为这应该是可用的,但它的值可能是字符串,所以你必须const user = JSON.parse(req.query.user)
  • 感谢您的回复,是的,我设法得到了对象,它像这样返回给我:{"user":"{ uid_1: \"user.handle\", uid_2: \"userUid\" }"}
  • 我尝试使用 JSON.parse 但这对我不起作用,我得到了 SyntaxError
  • 我认为这是因为 json 的键不是字符串(双引号)。您的查询应该是user={ "uid_1": "user.handle", "uid_2": "userUid" }

标签: javascript node.js reactjs firebase postman


【解决方案1】:

你目前使用的是:

 { uid_1: "user.handle", uid_2: "userUid" }

这里的字符串键名没有用双引号括起来,因此它不是有效的 json,因此 JSON.parse 将失败。

使用查询参数:

{ "uid_1": "user.handle", "uid_2": "userUid" }

您可以检查这是在邮递员方面本身。

在邮递员预请求或测试脚本中尝试以下代码

  console.log(JSON.parse(pm.request.url.query.get("user")).uid_2)

【讨论】:

    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2018-03-17
    • 2021-04-29
    • 2020-07-29
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多