我在这里使用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
的输出是一个字符串,但这需要是一个对象。