Я мог бы успешно получить данные из следующего сценария и показать в отчете.Получить данные из 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?
Я попробовал оба пути бот получил не удалось. Когда я удалил цикл 'for' для второго API и добавил, как вы сказали,
{{: posts.Name}}
' Он дал эту ошибку: «Ошибка произошла - ошибка во время отчета рендеринга: не удается прочитать свойство« имя »неопределенного Stack - Error: Невозможно прочитать свойство «Name» undefined в ChildProcess.Я попытался воспроизвести его на игровой площадке https://playground.jsreport.net/# игровая площадка/Zys1MkH0rl/3 и, похоже, работает, как я уже сказал, вы можете проверить это? –
Странно. Он работает для меня в моей среде, когда я добавляю данные так же, как в сценарии. Но когда я меняю ТОЛЬКО скрипт на мой сценарий вызова REST, он дает ошибку. –