$ q.all在推送键值时在数组中推送Json标头

时间:2016-11-15 09:35:08

标签: angularjs

我正在开发一个应用程序。我有多个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');
    });
};

1 个答案:

答案 0 :(得分:0)

首先,不确定为什么需要使用$ q.all(),因为你只有1个承诺等待。 其次,为$ http调用编写一个简单的.then(function(result){...}),并检查返回的对象。在那里你可以找出你应该提取哪些元素以仅获取"键值",因为结果对象还将包含请求,标题,状态等。 我认为您正在寻找的是" result.data"。