【发布时间】:2020-12-14 10:22:39
【问题描述】:
我正在尝试制作一个非常基本的新闻网络应用程序来学习如何使用 API。我使用的 API 是 https://newsapi.org/ 。
这是我的代码:
const express = require("express");
const https = require("https");
const app = express();
app.get("/", function(req, res) {
res.send("Sample text");
const url = 'https://newsapi.org/v2/top-headlines?country=us&apiKey=_______________________';
https.get(url, function(response) {
response.on("data", function(data) {
const newsData = JSON.parse(data);
const results = newsData.totalResults;
console.log(results);
});
});
});
app.listen("3000", function(req, res) {
console.log("Server is running on port 3000");
});
我取出了我的 API 密钥,这样 StackOverflow 上的人就无法通过新闻 API 访问我的帐户,但 API 密钥在我的代码中。 如上面的链接所示,我想控制台记录 JSON 对象中的“totalResults”键值对,以便控制台中出现“38”,但我收到的是“undefined:1”。
如何更改我的代码,以免出现“undefined:1”错误并且可以显示任何 JSON 值?
【问题讨论】:
-
您能否在解析数据之前直接控制台记录数据,看看您是否得到任何响应
-
我得到一些看起来像十六进制的东西:
标签: javascript node.js json express https