Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点JS GET请求使用HTTPS工作,但不使用Axios_Javascript_Node.js_Express_Https - Fatal编程技术网

Javascript 节点JS GET请求使用HTTPS工作,但不使用Axios

Javascript 节点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

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=>{
        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);
    })
})