Node.js NodeJS:使用一个pug模板来显示结果
我在NodeJS应用程序中有一个方法,处理抓取URL,成功后,将该数据保存到Mongo数据库中,并显示结果 主要方法:Node.js NodeJS:使用一个pug模板来显示结果,node.js,express,pug,router,Node.js,Express,Pug,Router,我在NodeJS应用程序中有一个方法,处理抓取URL,成功后,将该数据保存到Mongo数据库中,并显示结果 主要方法: //url参数 app.get('/url/',函数(req,res){ var client=新的元检查器(req.query.url{ 超时:5000 }); on(“fetch”,function()){ var-imagesArray=[]; var关键字array=[]; var now=新日期(); var dateVal=dateFormat(现在是“mm/dd
//url参数
app.get('/url/',函数(req,res){
var client=新的元检查器(req.query.url{
超时:5000
});
on(“fetch”,function()){
var-imagesArray=[];
var关键字array=[];
var now=新日期();
var dateVal=dateFormat(现在是“mm/dd/yyyy h:mm:ss”);
对于(var i=0;i-1){
推({
“图像”:客户端图像[i]
})
}
}
对于(var i=0;i });
据我所知,在URL保存到数据库之后,您希望将请求重定向到/saved
,并使用有效负载。在这种情况下,您可以使用查询字符串用户res.redirect
newUrls.save(function(err){
var payload = JSON.stringify({
url: client.url,
date_added: dateVal,
keywords: req.body.keywords,
author: client.author,
description: client.description,
ogTitle: client.ogTitle,
ogDescription: client.ogDescription,
image: client.image,
images: imagesArray,
keywords: keywordsArray
})
//append the payload as a query string
res.redirect(`/saved?payload=${payload}`)
})
在/saved
路由中,您可以解析查询并使用res.render
router.get('/saved', function (req, res) {});
let payload = JSON.parse(req.query.payload);
if(payload){
res.render('saved', payload)
}
});
有什么原因不能使用res.render()?res.render()渲染数据,但我想让它获得我使用路由器为其他页面设置的模板。有没有一种方法可以将res.render与现有模板一起使用?我记得你说过你已经创建了模板,模板在哪里?我对你的问题不是100%清楚,但你也可以根据需要使用pug api。模板位于/views文件夹中。我已将其添加到主要问题中。谢谢!这很有效。负载是否需要通过URL参数传递,或者可以通过其他方式传递?我的有效负载中有很多数据,如果可以以更干净的方式将其传递到路由,它会更干净。
res.redirect
不支持使用上下文数据重定向,查询字符串是我唯一能找到的方法。为什么不直接在/url
中调用res.render('saved')
?我希望页面使用来自Pug的站点模板。是否有其他方法将pug模板应用于res.render?