使用Axios发布请求进行JWT授权

时间:2019-10-15 02:36:46

标签: javascript rest post jwt

我收到了一个本地存储的JWT。使用相同的JWT,我尝试发出POST请求,但是出现401错误,并显示“未提供JWT”错误。我知道JWT是有效的,因为我已经在GET请求中成功使用了它。

axios
    .post("https://example.com", {
      headers: {
        token:
          "abc"
      },
      solutions: {
        solution: answer
      }
    })
    .then(response => {
      console.log(response.data);
    })
    .catch(error => {
      console.log(error.response);
    });
};

编辑: 我正在为我的GET请求添加代码,以作为参考。

axios
  .get("https://example.com", {
    headers: {
      token:
        "abc"
    }
  })
  .then(function(response) {
    // makeResponse(response.data);
    console.log(response.data);
  })
  .catch(function(error) {
    console.log(error);
  });

谢谢!

1 个答案:

答案 0 :(得分:0)

您的axios.post可以接受3个参数。第一个是端点,第二个是有效负载,第三个是配置或令牌存储位置。

axios.post(endpoint, payload, config)

我认为您设置的顺序错误:

axios
    .post("https://example.com", {
      headers: {
        token:
          "abc"
      },
      solutions: {
        solution: answer
      }
    })

这应该是:

axios
    .post("https://example.com", 
      solutions: {
        solution: answer
      },
      {
         headers: {
           token: "abc"
         }
      }
     )