有一个表单,通过按下按钮,应该卸载文本文件,使用请求库,我向另一个服务器发送请求,并将文本文件输出到控制台。好的,实际上是问题本身,但是我如何在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模板中。
发布于 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字符之间有一个空格。可能是弄错了,请检查一下。
https://stackoverflow.com/questions/50617912
复制相似问题