0

通过失眠症/邮递员作品发出帖子请求,给了我正确的回应。但是,在 axios 中,我似乎无法使其工作。

它没有给我一个错误,它的状态为 200,但实际上并没有像邮递员/失眠症那样登录。我觉得我的 axios 设置有问题

在此处输入图像描述

在此处输入图像描述

  const { email, password } = req.body.params
  const endpoint = `https://xxxxxxxxx.com/account/login/`

  try {
    const response = await axios({
      method: 'post',
      url: endpoint,
      data: qs.stringify({
        'customer[email]': email,
        'customer[password]': password,
        'form_type': 'customer_login'
      }),
      headers: {
        'content-type': 'application/x-www-form-urlencoded'
      }
    })
    res.status(200).send(response.data)
  } catch (error) {
    res.status(500).send(error)
  }
4

2 回答 2

0

有2个解决方案(我希望):

1/ 在这篇文章之后,你可能应该withCredentials这样使用:

  const { email, password } = req.body.params
  const endpoint = `https://xxxxxxxxx.com/account/login/`

  axios.defaults.withCredentials = true;

  try {
      (...)
  }

2/ 在本文之后,您需要将 Content-Type 标头设置为 application/json 以便自动解析数据:

Axios 还将 Content-Type 标头设置为 application/json。这使 Web 框架能够自动解析数据。

于 2021-04-18T19:00:25.813 回答
0

Postman 允许您生成使用 axios 重新创建请求所需的代码。

更多信息在这里:https ://learning.postman.com/docs/sending-requests/generate-code-snippets/

点击 Postman 右侧的代码图标

邮递员代码按钮

然后将代码片段语言设置为NodeJS - Axios,您将获得重新创建请求所需的确切代码。 Axios 代码片段

于 2021-04-18T19:59:32.310 回答