Javascript 如何在AngularJS中连接jsReport?
我现在对JSReport有个问题。。假设我已经有了一个API…我现在想要的是如何将它与使用AngularJS的客户端链接 如果我使用邮递员,它将返回一个pdf文件,这是我想要的。但我的问题是,当我使用angularjs发布它时,如何显示它是我的页面 我有这样一个代码: 控制器Javascript 如何在AngularJS中连接jsReport?,javascript,angularjs,report,jsreport,Javascript,Angularjs,Report,Jsreport,我现在对JSReport有个问题。。假设我已经有了一个API…我现在想要的是如何将它与使用AngularJS的客户端链接 如果我使用邮递员,它将返回一个pdf文件,这是我想要的。但我的问题是,当我使用angularjs发布它时,如何显示它是我的页面 我有这样一个代码: 控制器 $scope.Print = function () { authService.print().then(function(result){ var _result = resul
$scope.Print = function () {
authService.print().then(function(result){
var _result = result;
});
};
var parameter = { "template": { "shortid": "ZkMoslfdX" }};
PrintService.Print(parameter).then(function (result) {
var file = new Blob([result.data], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$scope.content = $sce.trustAsResourceUrl(fileURL);
});
服务
var _print = function () {
var data = { "template": { "shortid": "byQtwHLPQ" } };
return $http.post("http://192.168.8.87/api/report", data).then(function (result) {
return result;
});
};
authServiceFactory.print = _print;
var reportUrl = "http://192.168.8.87/api/report";
var _print = function (parameter) {
return $http.post(reportUrl, parameter, { responseType: 'arraybuffer' }).success(function (response) {
return response;
});
};
现在我有了代码,但它不起作用。。。我假设它没有回报,所以我删除了回报,只是张贴,但它仍然没有工作,甚至下载pdf也没有工作
任何人都可以帮忙…像这样使用
控制器
$scope.Print = function () {
authService.print().then(function(result){
var _result = result;
});
};
var parameter = { "template": { "shortid": "ZkMoslfdX" }};
PrintService.Print(parameter).then(function (result) {
var file = new Blob([result.data], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$scope.content = $sce.trustAsResourceUrl(fileURL);
});
服务
var _print = function () {
var data = { "template": { "shortid": "byQtwHLPQ" } };
return $http.post("http://192.168.8.87/api/report", data).then(function (result) {
return result;
});
};
authServiceFactory.print = _print;
var reportUrl = "http://192.168.8.87/api/report";
var _print = function (parameter) {
return $http.post(reportUrl, parameter, { responseType: 'arraybuffer' }).success(function (response) {
return response;
});
};
其主要思想是将结果.data
转换为一个blob,并创建一个对象URL
,这样它就可读,并且可以访问对象
标记和$sce.trustAsResourceUrl
用于信任URL
HTML
<object data="{{content}}" type="application/pdf" style="width:100%;height:80%"></object>
我参考这篇文章来澄清,只是读了那篇 您是如何创建报告的?