放置请求适用于一个api,但不适用于另一api

时间:2018-11-25 15:44:20

标签: javascript html reactjs api axios

  • 我用两种API对axios put进行了测试。
  • 对于一个api,它的工作正常,而对于另一个api,它会引发错误。
  • 对于一个api,即使我按原样给出了它,显示请求还是选项,但我看到403禁止错误
  • 对于此api,我遇到的问题是“ http:///sports/sportsId”,
  • 我已调试,但仍然找不到问题。
  • 是后端问题
  • 您能告诉我如何解决它,请在下面提供我的代码段
 
 savesports = () => {
    console.log("savesports---->");
    console.log(this.state.sports);
    let savesports = this.state.sports;
    savesports.updatedBy = 'xxx';
    savesports.priceRuleDescription = "test description";

    let data = {
      name: "yyyy",
      email: "sda@gmail.com",
      phone: "2321313"
    };
    axios
      .put("https://jsonplaceholder.typicode.com/users/1", data)
      .then(r => console.log("dada", r));

    console.log(JSON.stringify(savesports));

    axios
      .put(
      'http:///sports/sportsId',
      savesports
      // { headers: { 'Content-Type': 'application/json' } }
      )
      .then(r => console.log(r))
      .catch(e => console.log(e));

    //this.toggleDrawer("right", false);
    this.setState({ right: false });
    this.setState({ snackBarOpen: true });
    setTimeout(() => {
      this.setState({ snackBarOpen: false });
    }, 6000)
  };

1 个答案:

答案 0 :(得分:0)

1。检查网址是否正确

我将首先检查URL是否正确。

如果这实际上是您请求的URL,请尝试将http:///sports/sportsId更改为http://sports/sportsId

2。避免名称混淆

方法名称和放置数据变量名称相同(savesports)。我会将put数据变量名称更改为有意义的

let sportsData = this.state.sports;
sportsData.updatedBy = 'xxx';
sportsData.priceRuleDescription = 'test description';

3。检查身份验证

403也可能是验证错误。我将检查端点是否需要任何身份验证令牌或标头。