401神秘未授权

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

你好,程序员,

我遇到以下问题。我使用axios进行发布请求,如下所示:

componentDidMount() {
    const config = {
      headers: { Authorization: `Bearer ${Auth.getToken()}` },
    };
    const urlCategories = "http://localhost:8090/category";
    axios.get(urlCategories, config).then((res) => {
      const categories = res.data;
      this.setState({ categories });
      console.log(this.state.categories);
    });
    const urlTricks = "http://localhost:8090/trick/" + Auth.parseJwt().sub;
    axios.get(urlTricks, config).then((res) => {
      const tricks = res.data;
      this.setState({ tricks });
      console.log(this.state.tricks);
    });
  }

这有效! :D

然后我想做同样的事情,但是后来,所以我几乎复制了这个按钮...我得到401,但看不到两者之间的任何实际差异。我什至问过我的老师,他不知道答案。

handleChecked = () => {
    if (this.state.learned) {
      this.setState(
        {
          learned: false,
        },
        () => {
          console.log("Should be false and is: " + this.state.learned);
          const config = {
            headers: { Authorization: `Bearer ${Auth.getToken()}` },
          };
          axios
            .post(
              "http://localhost:8090/user/" +
                Auth.parseJwt().sub +
                "/" +
                this.props.id +
                "/" +
                this.state.learned,
              config
            )
            .then(() => {
              console.log(this.props.name + " set to: " + this.state.learned);
            });
        }
      );
    } else { }

奇怪的是;它在Postman中有效,所以我的结论是前端一定有问题。后端应该还可以。如果您感到好奇:Auth.parseJwt()。sub获取用户名(我知道这是用户名的怪异名称)。另一个奇怪的事情是,当我在Chrome Inspect概述中复制URL并在Postman中使用它时,它可以工作...

有人知道或看到此代码有什么问题吗?

post request axios
1个回答
0
投票

我的名字叫Appeltaart,如果可以用邮递员使用,那么后端应该就如您所说的一样好。您可以从头开始应用程序,也可以尝试以下方法:D

axios.post(`http://localhost:8090/user/${Auth.parseJwt().sub}/${this.props.id}/${this.state.learned}`, {
        headers: {
            Authorization: `Bearer ${Auth.getToken()}`,
            "Content-Type": "application/json"
        }
    }).then(() => {
        console.log(this.props.name + " set to: " + this.state.learned);
    });

友好的问候,您的Applepie

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