Reactjs Axios从API-React.js获取数据

Reactjs Axios从API-React.js获取数据,reactjs,axios,Reactjs,Axios,我使用axios从API获取数据,我尝试做一些非常简单的事情,我以前也做过。 我可以在控制台上看到我的请求,但我无法输出数据或console.log()消息 来自api的响应是一个带有数组的对象 {facts["fact written here"]} 这应该很简单,但如果我尝试: axios.get("https://dog-api.kinduff.com/api/facts") .then( response => { console.log("Facts: ", respo

我使用axios从API获取数据,我尝试做一些非常简单的事情,我以前也做过。 我可以在控制台上看到我的请求,但我无法输出数据或console.log()消息

来自api的响应是一个带有数组的对象

{facts["fact written here"]}
这应该很简单,但如果我尝试:

axios.get("https://dog-api.kinduff.com/api/facts")
.then( response => {
    console.log("Facts: ", response) //This wont show up on the console
    this.setState({DogFact:response.facts[0]}) //This wont work.
})
我真的不明白可能出了什么问题。
有人能帮我一下吗?

在package.json中添加这一行

"proxy": "https://dog-api.kinduff.com/api/"
然后在axios调用中将其更改为:

axios.get("/facts")
.then( response => {
    console.log("Facts: ", response) 
    this.setState({DogFact:response.facts[0]})
});

这是一个cors问题,最有可能是由于承诺的原因。这就是为什么你看不到控制台你是对的。我收到一个网络错误,但没有其他信息。当我检查控制台时,我可以看到请求和正确的响应。这就是我感到困惑的原因。1.如果您可以控制后端服务器,那么您可以设置“允许控制允许来源”:“your website address.com”或通配符“Allow control Allow Origin”:“2.您可以使用chrome扩展[*Allow control Allow Origin][1](但每个浏览器可能需要安装此插件才能使用它)[1]:这意味着问题实际上是CORS,使用代理是解决问题的一种方法?
axios.get("/facts")
.then( response => {
    console.log("Facts: ", response) 
    this.setState({DogFact:response.facts[0]})
});