【问题标题】:How to send headers in api with body empty using axios in react js.?如何在反应 js 中使用 axios 在 api 中发送正文为空的标头?
【发布时间】:2020-12-11 05:46:43
【问题描述】:

我正在尝试发送一个带有访问令牌的 api 调用,而我正在以确切的方式发送空正文,但由于某些原因,它不断给我错误 401,这是未经授权的,我无法在其中找到错误它,我无法解决它。

我的 API 调用

export const resendSmsCode = (userdata) => {
  return async (dispatch) => {
    dispatch(fullScreenLoader(true));
    const response = await axios.post(
      "https://theappsouk.com/api/Profile/ReGenerateSmsCode",
      {
        Authorization: `Bearer ${userdata.auth}`,    
      }
    );
    const { data } = response;
    console.log(JSON.stringify(response))
    dispatch(fullScreenLoader(false));
    dispatch({
      type: RESEND_SMS_CODE,
      payload: data,
    });
  };
};

【问题讨论】:

    标签: reactjs api redux response


    【解决方案1】:

    看起来标题选项应该放在第三个参数中。但是您将它放在第二个参数中,它将您的标头作为有效负载发送。

    这是正确的:

    const response = await axios.post(
      "https://theappsouk.com/api/Profile/ReGenerateSmsCode",
      void 0,
      {
        Authorization: `Bearer ${userdata.auth}`,    
      }
    );
    
    

    【讨论】:

    【解决方案2】:

    看看axios documentation

    如果你想发送headers,你必须写如下:

    const response = await axios.post(
        "https://theappsouk.com/api/Profile/ReGenerateSmsCode",
        {
            headers: { 
                Authorization: `Bearer ${userdata.auth}` 
            } 
        }
    );
    

    PS:发布问题时,我会将身份验证令牌或密码涂黑(如您的屏幕截图中所示)。只需确保使此令牌无效即可。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 2020-08-19
    • 2017-05-07
    • 2020-01-05
    • 2020-08-16
    • 1970-01-01
    • 2021-03-06
    • 2017-10-29
    相关资源
    最近更新 更多