0

我正在尝试从连接到 jsreport 的 Angular 应用程序生成 pdf 报告。我的客户端应用程序通过以这种方式将示例数据传递到报表服务器来执行 POST 调用。

 $http.post('http://localhost:5488/api/report', {
      'template': {
        'shortid': 'SypJSv75e',
        "data": {"name": "John Doe"}
      }
    })
    .success(function (response) {
     console.log(response)
    });

正如您在上面的代码中看到的,我将 {"name": "John Doe"} 传递给报表服务器。

在报表服务器上,这是我在自定义脚本部分中的代码。

function beforeRender(req, res, done) {
req.data.generatedOn = new Date();
done();
}

如何接收从客户端应用程序传递的 jsreport 中的数据?

4

1 回答 1

0

data属性不应在内部template,您的请求应如下所示

$http.post('http://localhost:5488/api/report', {
      template: { shortid: 'SypJSv75e' },
      data: { name: "John Doe"}
    })
    .success(function (response) {
     console.log(response)
    });

然后,您可以使用{{name}}或在自定义脚本中访问模板内容中的“John Doe”

function beforeRender(req, res, done) {
  //prints into debug John Doe
  console.log(req.data.name)
  done();
}

稍后您可以考虑使用jsreport 浏览器 javascript 客户端来调用渲染调用。

于 2017-03-02T07:08:35.933 回答