Node.js提取返回空数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js提取返回空数据相关的知识,希望对你有一定的参考价值。

我正在尝试使用fetch从API中获取一些数据,并且控制台日志显示[],但是,当我使用Postman进行相同的请求时,它将成功返回JSON。我在做什么错?

let fetch = require("node-fetch");

const url_deals = 'http://www.cheapshark.com/api/1.0/deals';

function getDealInfo(dealID){
    let new_url = new URL(url_deals + "?id=" + dealID);

    fetch(new_url, {method : 'GET'})
        .then(data =>{
            data.json().then(out => {
                console.log(out);
            })
        })
}

getDealInfo("X8sebHhbc1Ga0dTkgg59WgyM506af9oNZZJLU9uSrX8%253D");

Postman screenshot

答案

问题出在您的身份证上。您已经逃脱了两次。

getDealInfo("X8sebHhbc1Ga0dTkgg59WgyM506af9oNZZJLU9uSrX8%253D");

您代码中的ID为X8sebHhbc1Ga0dTkgg59WgyM506af9oNZZJLU9uSrX8%253D,但在屏幕截图中为X8sebHhbc1Ga0dTkgg59WgyM506af9oNZZJLU9uSrX8%3D。查看倒数第三位。

另一答案

使用该ID我也一无所获。

请注意,如果您不使用id发出请求,则ID与您的格式不匹配,例如

"dealID":"tnXImZO%2FYSnkve2w7O5fHy77qn0e8uvWFbkiT%2Fjb7r0%3D"

似乎您的某个地方有多余的URI编码。

以上是关于Node.js提取返回空数据的主要内容,如果未能解决你的问题,请参考以下文章

带有 Q 承诺的 Node.JS 猫鼬请求返回空

从 Node JS 连接 Redshift 时无法返回任何值

Node.js JavaScript 片段中的跳过代码

从Node.js Stream写入多个文件

Android Java:在 onCreateView() 中返回空视图的片段

Android,从其他片段返回的空列表视图