使用POST请求的身份验证错误:使用Axios时未提供“身份验证凭据”,但使用POSTMAN可以使用

问题描述 投票:0回答:1

我正在使用React并尝试处理用户的密码更改。我正在发送这样的POST请求:

axios.post('http://127.0.0.1:8000/users/password/change/', {
            headers: {
                'Content-type': 'application/json',
                'Authorization': `Token ${token}`
            },
            data: {
                new_password1: newPassword1,
                new_password2: newPassword2
            }
        })

...并且我收到401错误:“未提供身份验证凭据”。

但是,如果我通过POSTMAN发送确切的same请求,则可以正常工作。

我也在同一应用程序中执行GET请求以获取用户数据,它也可以正常工作:

axios.get('http://127.0.0.1:8000/users/' + path + '/' + userId + '/', {
            headers: {
                'Content-type': 'application/json',
                'Authorization': `Token ${token}`
            }
        })

可能是什么问题...?

reactjs axios authorization postman token
1个回答
0
投票

axios.post期望(URL,数据,配置)。

所以您需要这样使用:

  axios.post(
    "http://127.0.0.1:8000/users/password/change/",
    {
      new_password1: newPassword1,
      new_password2: newPassword2
    },
    {
      headers: {
        "Content-type": "application/json",
        "Authorization": `Token ${token}`
      }
    }
  );

文档:

https://github.com/axios/axios#axiosposturl-data-config

© www.soinside.com 2019 - 2024. All rights reserved.