【问题标题】:passing dynamic parameter to java script function is not working in Pivot.js将动态参数传递给 javascript 函数在 Pivot.js 中不起作用
【发布时间】:2018-06-29 10:44:44
【问题描述】:

我在这里使用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>

【问题讨论】:

  • @Andreas 来自 aync 调用的响应工作正常,数据来自响应
  • 我已经查看了这篇文章,并且我还包括了一篇 if 检查 optionsObj 参数的条件是否已填充。满足条件&参数填写正确。

标签: javascript function pivot parameter-passing pivottable.js


【解决方案1】:

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

【讨论】:

  • 我已将其更改为对象,但它也无法正常工作。我已将其创建为 json 对象。我已经尝试了所有方法,请您告诉我如何实现这一目标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-23
  • 2011-10-02
  • 2016-01-16
  • 2015-06-09
相关资源
最近更新 更多