如何在React JS中修复“类型错误” axios

时间:2019-03-23 21:31:33

标签: reactjs axios

我的问题是,每当尝试对此api https://scryfall.com/docs/api/cards/collection的参数时,都会遇到类型错误。

我已经尝试了一些调试,但是我似乎不太能得到响应。

https://codesandbox.io/s/r5515135zo

axios({
      api: "https://api.scryfall.com/cards/collection",
      method: "post",
      identifiers: [{ name: "banefire" }, { set: "m19" }]
    })
      .then(function(response) {
        // your action after success
        console.log(response);
      })
      .catch(function(error) {
        // your action on error success
        console.log(error);
      });
  };

尝试在控制台中获得没有错误的响应。

1 个答案:

答案 0 :(得分:0)

根据axios' docs,JSON发布请求按以下方式完成:

axios.post({ /* JSON data */ })

因此,您应该用以下内容替换包含的代码:

axios.post('https://api.scryfall.com/cards/collection', {
    identifiers: [{
      name: "banefire"
    }, {
      set: "m19"
    }]
  })
  .then(console.log)
  .catch(console.log);

或者,如果您要将API响应保存在全局变量中-假设myGlobalVar是超级原始文件:

const myGlobalVar = null;

axios.post('https://api.scryfall.com/cards/collection', {
  identifiers: [{ name: "banefire" }, { set: "m19" }]
})
.then(responseData => myGlobalVar = responseData)

请注意,答案中包含identifiers作为axios参数,而不是传递给API的数据的一部分。