繁体   English   中英

axios 不发送标头,请求失败,收到 401 错误

[英]Axios not sending headers, request failing, getting 401 error

我一直在使用axios从私有 API 获取一些数据,但现在我在从一个特定端点获取数据时遇到了问题。

有趣的是,使用内置的fetch API,我收到 200 响应,但与axios相同的请求不断重新调整 401 错误。 知道可能是什么问题吗?

此代码有效:

const upVoteCommentTwo = async () => {
  console.log(localStorage.getItem("access_token"));
  try {
    const response = await fetch(
      `https://exammple.com/comments/${commentId}/vote/up`,
      {
        method: "POST",
        headers: {
          "X-API-KEY": "XXX",
          "Authorization": localStorage.getItem("access_token"),
        },
      }
    );

    console.log(await response.status);
  } catch (err) {
    console.log(err);
  }
};

这不起作用:

const upVoteCommentOne = async () => {
  console.log(localStorage.getItem("access_token"));
  try {
    const response = await axios.post(
      `https://example.com/comments/${commentId}/vote/up/`,
      {
        headers: {
          "Content-Type": "application/json",
          "X-API-KEY": "XXX",
          "Authorization": localStorage.getItem("access_token"),
        },
      }
    );

    console.log(response.status);
  } catch (err) {
    console.log(err);
  }
};

问题来自axios的参数。 根据文档,根据 GitHub 上的这个问题似乎对大多数人都有效的一种有效方法是这样称呼它:

const response = await axios({
  method: "post",
  url: `https://example.com/comments/${commentId}/vote/up/`,
  headers: {
    "Content-Type": "application/json",
    "X-API-KEY": "XXX",
    "Authorization": localStorage.getItem("access_token"),
  },
  data: {},
});

const upVoteCommentOne = async () => {
  console.log(localStorage.getItem("access_token"));
  try {
    const response = await axios.post(
          `https://example.com/comments/${commentId}/vote/up/`,
         {
           //body:...if any
         }
        headers: {
          "X-API-KEY": "XXX",
          "Authorization": localStorage.getItem("access_token"),
        },
      }
    );

    console.log(response.status);
  } catch (err) {
    console.log(err);
  }
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM