Axios VS Postman 请求获得不同的响应

大家好,我在连接到API时遇到了一个奇怪的问题。


当我使用Postman时,一切都很顺利,但是如果我使用Axios提出请求,响应是不同的。所以给你一个例子,我想得到一个id为616的客户端;


客户


await axios

        .post("/api/getClient", {

          id: 616,

        }).then(data => console.log(data))

后端


// GET CLIENT

app.post('/api/getClient', async (req, res) => {

  const d = await axios.get(`${baseURL}/client/account/:client_id`, {

    headers: headers,

    data: {

      id: req.body.id

    }

  })

  res.send(d.data)

  res.end()

});

来自 axios 的响应如下所示


data: {

  error: false,

  user: {

    profile: null,

    user_addresses: [],

    safe_credits: 0,

    rating: 5

  }

}

来自 邮递员


{

    "error": false,

    "user": {

        "profile": {

            "id": 616,

            "phone_number": "07744444444",

            "country_code": "44",

            "email": "email@example.com",

            "first_name": "John",

            "last_name": "Doe",

            "password": null,

            "os": "iOS",

            "token": "0c9c09e7dc2f009b4cfdb2e4666ead9e",

            "version": "",

            "photo": "",

            "gender": "male",

            "registered_date": "2020-05-08T14:55:05.000Z",

            "enabled": 1,

            "socketId": "",

            "stripe_id": "cus_HF1eUUdada54JKN"

        },

        "user_addresses": [],

        "safe_credits": 0,

        "rating": 5

    }

}


宝慕林4294392
浏览 355回答 2
2回答

函数式编程

您应该能够将 ID 附加到 API URL,而不是在请求中使用:data const d = await axios.get(`${baseURL}/client/account/${req.body.id}`, {    ...  });

暮色呼如

我最近遇到了类似的问题。在Postman中,请确保删除任何cookie,因为这可能会影响结果。Postman将cookie存储在同一域的不同请求之间。而 axios(或任何其他后端库)可能不会。在Postman的“发送”按钮下,检查cookie,删除您在那里找到的任何cookie并重新执行。这可能会给你在公理上得到的同样的结果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript