我正在开发一个应用程序。我有多个ajax调用,我需要将所有json绑定到单个json中。我使用下面的代码。但是在执行此操作时,还会附加json响应标头,状态等。我只需要按键值。任何人都可以帮助我吗?
我的代码如下:
$scope.downloadPdf = function () {
var frequency = $http.get("myapplicationurl" + $stateParams.searchId + "?" + "startDate=" + $stateParams.startDate + "&" + "endDate=" + $stateParams.endDate)//,
// name = $http.get("../myapplicationurl/" + $stateParams.searchId)
$q.all([frequency]).then(function (arrayOfResults) {
angular.forEach(arrayOfResults[0], function (value, key) {
angular.forEach(value[0], function (data, header) {
$scope.header.push([header]);
})
angular.forEach(value, function (it, header) {
$scope.columns.push(it);
console.log("Body : " + $scope.columns);
})
})
console.log("Header : " + $scope.header);
pdfMake.createPdf({
header: 'simple text',
content: [
{
text: 'Fruits and Calories'
},
{
style: 'demoTable',
table: {
widths: ['*', '*', '*'],
body: [
$scope.header,
// $scope.columns
]
}
}
],
footer: {
columns: [
'Left part',
{text: 'Right part', alignment: 'right'}
]
},
styles: {
header: {
bold: true,
color: '#000',
fontSize: 11
},
demoTable: {
color: '#666',
fontSize: 10
}
}
}).download('Sample.pdf');
});
};
答案 0 :(得分:0)
首先,不确定为什么需要使用$ q.all(),因为你只有1个承诺等待。 其次,为$ http调用编写一个简单的.then(function(result){...}),并检查返回的对象。在那里你可以找出你应该提取哪些元素以仅获取"键值",因为结果对象还将包含请求,标题,状态等。 我认为您正在寻找的是" result.data"。