将动态参数传递给 java 脚本函数在 Pivot.js 中不起作用



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

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

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

<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>

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

最新更新