从REST API获取数据到jsreports
Get data from REST API to jsreports
我可以成功地从下面的脚本中获取数据并显示在报告中。
function beforeRender(done){
require("request")({url:"http://nicolas.kruchten.com/pivottable/examples/mps.json",json:true},function(err, response, body){
request.data = {posts:body};
done();
})
}
我用了这个,
<h1>Request</h1>
<table style='border-style:solid'>
<tr>
<th>Province</th>
<th>Party</th>
<th>Name</th>
</tr>
{{for posts}}
<tr>
<td>{{:Province}}</td>
<td>{{:Party}}</td>
<td>{{:Name}}</td>
</tr>
{{/for}}
</table>
但是当我使用以下查询调用REST api时,它会在控制台获取数据并写入,但不会显示在报告中。
var request = require('request');
function beforeRender(done){
require('request')({headers: {
'sToken': 'qq',
'log': 'dd'
}, url: 'http://localhost:3000/com.dd.com/Inventory' , json:true },
function(error, response, body) {
request.data = {posts:body};
console.log(request.data );
done();
});
}
HTML代码
<h1>Request</h1>
<table style='border-style:solid'>
<tr>
<th>Name</th>
</tr>
{{for posts}}
<tr>
<td>{{:Name}}</td>
</tr>
{{/for}}
</table>
JSON字符串返回:
{ posts:
{ Id: '700',
Name: 'myName',
__osHeaders:
{ Version: '{EFF95F4C-2FA2-11E5-BA94-040150C75001}',
Namespace: 'com.dd.com',
Class: 'Inventory',
Tenant: '123',
LastUdated: '2015-07-21 08:20:56.197248204 -0400 EDT' } } }
使用引擎:jsrender
配方:phantom-pdf
如何在报表中显示值?在使用API时,我在哪里出错了?
我发现了这个问题。我注释掉了下面一行,这导致我没有把它打印在报告上。
var request = require('request');
因此新代码是
//var request = require('request');
function beforeRender(done){
require('request')({headers: {
'sToken': 'qq',
'log': 'dd'
}, url: 'http://localhost:3000/com.dd.com/Inventory' , json:true },
function(error, response, body) {
request.data = {posts:body};
console.log(request.data );
done();
});
}
第一个API返回一个数组,然后与jsrender for
循环一起工作。
但是根据你发布的JSON字符串第二个API返回一个对象,这就是为什么for
循环不工作在那里。没有for循环也可以用:<h1>{{:posts.Name}}</h1>
所以解决方案是改变API调用实际接收数组或转换输出到它,这样你就可以循环。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 有时数据是't显示在浏览器中
- React中的数据集表示
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从REST API获取数据到jsreports