首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何正确地将http请求封装在路由表达式的处理器中,并在HTML中推导出答案?

如何正确地将http请求封装在路由表达式的处理器中,并在HTML中推导出答案?
EN

Stack Overflow用户
提问于 2018-05-31 14:24:21
回答 1查看 39关注 0票数 0

有一个表单,通过按下按钮,应该卸载文本文件,使用请求库,我向另一个服务器发送请求,并将文本文件输出到控制台。好的,实际上是问题本身,但是我如何在html模板中输出结果,而不是在控制台中。HTTP请求本身看起来像这样:

var request = require('request');
request.get('http://177.77.45.99:8081/gall/cesar.txt',function(error, 
response, 
body){
console.log('statusCode:', response && response.statusCode); 
console.log('body:', body);
});

我如何将其封装在处理程序"router.get ('/ roumer',function (req,res)“中,并在单击文本区域中的按钮时输出到ejs模板中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 18:04:14

只需将您的代码放入路由器函数中即可。

选项1-返回纯文本此代码将txt文件作为纯文本返回;

router.get('/ roumer', function (req, res) {
   var request = require('request');
   request.get('http://177.77.45.99:8081/gall/cesar.txt', function (error,response,body) {
    console.log('statusCode:', response && response.statusCode);
    console.log('body:', body);

    res.end(body)

   });
});

选项2-使用html呈现引擎

如果你想返回html页面,你可以使用jade模板来渲染html文件。它会是这样的。resultPage.jade是视图/文件夹中的文件。你可以做些研究,杰德。

router.get('/ roumer', function (req, res) {
    var request = require('request');
    request.get('http://177.77.45.99:8081/gall/cesar.txt', function (error,response,body) {
       console.log('statusCode:', response && response.statusCode);
       console.log('body:', body);
       res.render('resultPage.jade', {
        responseTextBody : body
       } )
    });
});

选项3-以最小的方式创建并返回html

如果你不想使用jade/pug或其他渲染引擎并保持它的超级简单,你可以简单地返回带有html标签的计划文本。您可以简单地复制此代码。

router.get('/ roumer', function (req, res) {
  var request = require('request');
  request.get('http://177.77.45.99:8081/gall/cesar.txt', function (error,response,body) {
      console.log('statusCode:', response && response.statusCode);
      console.log('body:', body);

      let htmlBody = "<!DOCTYPE html>< html ><body><p> " + body + "</p></body></html >"

      res.end( htmlBody )
  });
});

Bonus

顺便说一下,您的代码中的/和r字符之间有一个空格。可能是弄错了,请检查一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50617912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档