最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用Node.js的https.request()并输出到浏览器

IT培训 admin 8浏览 0评论

使用Node.js的https.request()并输出到浏览器

我正在关注一篇关于当天美国国家航空航天局图片的http请求的文章。我正试图从我的服务器在浏览器中显示JSON对象。但所有Node.js的示例都将api结果输出到服务器的控制台。是否可以让我的服务器保存/转发对浏览器的响应?在依赖任何依赖项之前,我想了解本机http模块。此外,我不确定它是否有所作为,但我正在使用express来创建我的服务器。任何事情都会有助于解读,因为我很困惑。

const https = require('https');

app.get('/', (req, res) => {
  var url = '';
  var nasa_obj
  var request = https.get(url, function (resp) {
    var body = '';

    resp.on('data', function (chunk) {
      body += chunk;
    });

    resp.on('end', function () {
      nasa_obj = JSON.parse(body);
      console.log("Got a response: ", nasa_obj);
      res.send(nasa_obj)
    });
  }).on('error', function (e) {
    console.log("Got an error: ", e);
  });
  request.end()
})

更新:代码是正确的

回答如下:

您只想在回复给您后发送回复:

const https = require('https');

app.get('/', (req, res, next) => {
  var url = 'https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY';
  var nasa_obj
  var request = https.get(url, function (response) {
    var body = '';

    response.on('data', function (chunk) {
      body += chunk;
    });

    response.on('end', function () {
      console.log("Got a response: ", body);
      res.send(body);
    });
  }).on('error', function (e) {
    console.log("Got an error: ", e);
    next(e); // Pass error to error handling middleware
  });
  request.end()
})

使用Node.js的https.request()并输出到浏览器

我正在关注一篇关于当天美国国家航空航天局图片的http请求的文章。我正试图从我的服务器在浏览器中显示JSON对象。但所有Node.js的示例都将api结果输出到服务器的控制台。是否可以让我的服务器保存/转发对浏览器的响应?在依赖任何依赖项之前,我想了解本机http模块。此外,我不确定它是否有所作为,但我正在使用express来创建我的服务器。任何事情都会有助于解读,因为我很困惑。

const https = require('https');

app.get('/', (req, res) => {
  var url = '';
  var nasa_obj
  var request = https.get(url, function (resp) {
    var body = '';

    resp.on('data', function (chunk) {
      body += chunk;
    });

    resp.on('end', function () {
      nasa_obj = JSON.parse(body);
      console.log("Got a response: ", nasa_obj);
      res.send(nasa_obj)
    });
  }).on('error', function (e) {
    console.log("Got an error: ", e);
  });
  request.end()
})

更新:代码是正确的

回答如下:

您只想在回复给您后发送回复:

const https = require('https');

app.get('/', (req, res, next) => {
  var url = 'https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY';
  var nasa_obj
  var request = https.get(url, function (response) {
    var body = '';

    response.on('data', function (chunk) {
      body += chunk;
    });

    response.on('end', function () {
      console.log("Got a response: ", body);
      res.send(body);
    });
  }).on('error', function (e) {
    console.log("Got an error: ", e);
    next(e); // Pass error to error handling middleware
  });
  request.end()
})
发布评论

评论列表 (0)

  1. 暂无评论