这是使用jsreport生成报告的代码。我想通过将输入参数传递给jsreport来生成报告。
var express= require('express');
var router = express.Router();
var request=require('request');
router.get('/' ,function(req,res,next){
var shortid=req.query.shortid;
var preview =req.query.preview;
var data={
template:{'shortid':shortid , "recipe" : "html"},
options:{
preview:preview
}
}
var options={
uri:'http://localhost:5488/api/report',
method:'post',
json:data
//how to pass parameter here like uri,method.
}
request(options).pipe(res);
});
module.exports=router;
我想在jsreport的脚本中传递mysql查询的参数。
答案 0 :(得分:2)
您可以通过输入数据传递参数或将其附加到选项属性
router.get('/' ,function(req,res,next){
var shortid=req.query.shortid;
var preview =req.query.preview;
var data={
template:{'shortid':shortid , "recipe" : "html"},
options:{
preview:preview
},
data: {
paramA: 'foo'
}
}
var options={
uri:'http://localhost:5488/api/report',
method:'post',
json:data
//how to pass parameter here like uri,method.
}
request(options).pipe(res);
});
然后,您可以在req.data.paramA
上的脚本中找到该参数。 (如果使用jsreport< 1.0,则在全局request
对象上访问它)
function beforeRender(req, res, done) {
var paramA = req.data.paramA
...
done()
}