0

我目前正在尝试学习 Node.js 并在 SAP Web IDE 中实现我的第一个 API(我选择了 Chuck Norris API)。以下是我找到的代码:

app.get("/chuckvar", (req, res) => {
    var http = require('https'),
        url = require('https://api.chucknorris.io/jokes/random');
    http.createServer(function (req, res) {
        var query = url.parse(req.url, true).query;
        res.end(JSON.stringify(query));
    });
});`

到目前为止,我能够在控制台中显示 URL 的内容,但不能在我的目标浏览器上显示。

我写了这段代码,但我不断收到相同的 错误消息

所以我需要帮助才能成功实现 API。

4

1 回答 1

0

“require”函数的目的是导入模块(就像你做的httpsrequire('https')一样)。

您的错误消息意味着“需要”期望参数是节点模块(而不是 url)。

要获取 url 内容,您可以使用“ request ”模块(witch 比原生模块更简单):

const request = require('request');
app.get("/chuckvar", (req, res) => {
    request('https://api.chucknorris.io/jokes/random', function (error, response, body) {
        console.log('error:', error); // Print the error if one occurred
        console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
        console.log('body:', body); // Prints the body
        res.end(body); // Will forward the api response
    });
});
于 2018-12-12T18:56:16.197 回答