我可以成功從以下腳本獲取數據並顯示在報告中。從REST API獲取數據到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
配方:幻象PDF
如何顯示在報表中的值?使用API時,我在哪裏出錯了?
我想無論是BOT的方式得到了失敗。當我爲第二個API刪除'for'循環並且按照你所說的添加了'
{{:posts.Name}}
'它給出了這個錯誤:'錯誤發生 - 在呈現報告期間出錯:無法讀取undefined屬性'Name' 堆棧 - 錯誤:無法讀取ChildProcess上未定義的 的屬性「名稱」。在handleMessage(child_process.js:324)處的ChildProcess.emit(events.js:110:17) (我試圖在操場上覆制這個https://playground.jsreport.net/#操場/ Zys1MkH0rl/3,它似乎工作正如我所說,你能檢查它嗎? –
奇怪。當我像在腳本中那樣添加數據時,它適用於我的環境。但是,當我僅將腳本更改爲REST調用腳本時,它會給出錯誤。 –