Javascript 节点JS GET请求使用HTTPS工作,但不使用Axios
Axios代码: 结果。数据为空,结果的状态为200Javascript 节点JS GET请求使用HTTPS工作,但不使用Axios,javascript,node.js,express,https,Javascript,Node.js,Express,Https,Axios代码: 结果。数据为空,结果的状态为200 const axios = require('axios'); axios.get('https://fantasy.premierleague.com/api/bootstrap-static/') .then(result => { console.log(result); console.log(result.data); }) .catch (error
const axios = require('axios');
axios.get('https://fantasy.premierleague.com/api/bootstrap-static/')
.then(result => {
console.log(result);
console.log(result.data);
})
.catch (error=>{
console.log(error);
});
https代码(从API返回JSON):
FantasyAPI只返回我相信的JSON。
有人能告诉我需要做什么才能获得axios get请求以返回数据吗
如果我在axios代码中使用不同的API,例如()它就可以正常工作。这个API似乎有些不同?@Gazza Knight,这里的问题是JSON中API返回的循环引用 Axios无法处理响应的原因是,Axios的响应类型(typeof(result))是object,而由于JSON中的循环引用而出错,而使用https的结果在https中返回为“字符串”(typeof(data))。因此,https正确写入结果,Axios失败
我希望上面的解释能有所帮助。API正在返回缓冲区。您没有像在
https中那样编写Axios
代码来处理缓冲区。get
code@Dshiz它返回一个空字符串数据:“”。是的,因为在接收大量数据之前,响应是200 OK,这是以块(数组缓冲区)的形式发送的。谢谢,循环引用在哪里?我试图理解它们是如何工作的。循环引用是指对象试图引用自身。这里有一些帮助链接。
const https = require('https');
https.get('https://fantasy.premierleague.com/api/bootstrap-static/', (response)=>{
let data = '';
response.on('data', (chunk) =>{
data += chunk;
});
response.on('end', ()=>{
console.log(data);
})
})