0

我在这里使用Pivot .js 库/工具。我正在尝试通过从服务器获取参数来加载动态 PIVOT 表。我在第二个参数optionsObj的 PIVOT() 方法中遇到问题。当我将静态字符串传递给该参数时,PIVOT 网格按预期加载,但是当我从服务器动态传递它时,PIVOT 网格未按预期加载。

PIVOT()方法需要第二个参数作为OBJECT

注意:我已经尝试过 JSON.stringify JSON.PARSE。 来自异步调用的响应正确地来自该方法。我已经调试了代码。

<div>
            <script>
                var Json_ConfigData = new Object();
                $.ajax({
                    url: "Handlers/GET_Pivot_Config.ashx",                    
                    contentType: "application/text",
                    dataType: "text",
                    success: OnCompleteConfig,
                    error: OnFailConfig,
                });
                function OnCompleteConfig(data) {
                    Json_ConfigData = data;
                }
                function OnFailConfig(data) {
                    alert('FAil');                   
                }

                $.ajax({
                    url: "Handlers/GET_pivotDataSet.ashx",
                    contentType: "",
                    dataType: "json",
                    success: OnComplete,
                    error: OnFail,
                });

                function OnComplete(data) {                    
                    var JsonDataSet = data;                    
                    alert("CD : " + Json_ConfigData);
                    var utils = $.pivotUtilities;                    
                    var heatmap = utils.renderers["Heatmap"];
                    var SumasFractionofColumns = utils.aggregators["Sum as Fraction of Columns"];
                    var SumoverSum = utils.aggregators["Sum over Sum"];


                    var optionsObj = JSON.stringify(Json_ConfigData);
                    $("#output2").pivot(data,                            
                        optionsObj // { rows: ['MATERIAL_TYPE'] , cols: ['LOCATION_DESC'] , aggregator: SumasFractionofColumns(['WAITING_TIME']) , renderer: heatmap }
                        );
                }
                function OnFail(data) {
                    alert('Failed :- ' + data);
                }
            </script>
            <div id="output2" runat="server" style="margin: 30px;"></div>
</div>
4

1 回答 1

0

问题可能出在这行var optionsObj = JSON.stringify(Json_ConfigData);...的输出JSON.stringify是一个字符串,但这需要是一个对象。

于 2018-01-21T03:09:41.493 回答