首页 > 解决方案 > Flexmonster - 如何从 Ajax 调用中设置 DataSource

问题描述

我想通过ajax调用的结果用数据填充数据透视表我正在尝试这样的事情,但它不起作用,不加载任何数据。

        var pivot = new Flexmonster({
            container: “pivot-container”,
            componentFolder: “https://cdn.flexmonster.com/”,
            global: {
                localization: “loc/es.json”
            },
            width: “100%”,
            height: “600px”,
            report: {
                dataSource: {
                    dataSourceType: “json”,
                    data: getData()
                },
    slice: {
         rows: [{ uniqueName: “column1” }, { uniqueName: “column2” }],
                    columns: [{ uniqueName: “[column3]” }],
                    measures: [{ uniqueName: “column4” }]
                }
        });



//ajax call
//The function returns the data correctly.
    function getDatos() {
        $.ajax({
            type: “GET”,
            dataType: “json”,
            contentType: “application/json; charset=utf-8”,
            url: “api/data”,
            success: function (response) {
                return response;
            }
        });
    }

如果我在 Connect => To Remote JSON 中使用 url,它就像一个魅力,这表明 json 格式是正确的。

如何使用 ajax 调用加载数据透视?

标签: ajax

解决方案


如果它仍然相关或会帮助其他用户 - 我会留下一些关于如何处理这个问题的注释。

为了使其正常工作,最好使用 Flexmonster 的事件。在这种情况下,您可以使用该reportcomplete事件来确保已加载枢轴组件。之后,您可以运行 setReport API 调用(如本例所示http://jsfiddle.net/flexmonster/2qb8wzh1/:)

另一种选择是先加载数据,然后使用所有配置初始化数据透视对象。

希望能帮助到你。


推荐阅读