下面是我的代碼,其中的getJSON方法是行不通的的getJSON方法不起作用
function loadJson() {
$(document).ready(function() {
alert("inside");
var chart;
var url = "values.json";
var seriesData = [];
var xCategories = [];
var i, cat;
alert("outside");
$.getJSON(url, function (data) {
alert("inside JSON function");
for (i = 0; i < data.length; i++) {
cat = '' + data[i].period_name;
if (xCategories.indexOf(cat) === -1) {
xCategories[xCategories.length] = cat;
}
}
for (i = 0; i < data.length; i++) {
if (seriesData) {
var currSeries = seriesData.filter(function (seriesObject) {
return seriesObject.name == data[i].series_name;
}
);
if (currSeries.length === 0) {
seriesData[seriesData.length] = currSeries = { name: data[i].series_name, data: [] };
} else {
currSeries = currSeries[0];
}
var index = currSeries.data.length;
currSeries.data[index] = data[i].period_final_value;
}
else {
seriesData[0] = { name: data[i].series_name, data: [data[i].period_final_value] }
}
}
//var chart;
//$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'Stacked column chart'
},
xAxis: {
categories: xCategories
},
yAxis: {
//min: 0,
//max: 100,
title: {
text: 'Total fruit consumption'
},
stackLabels: {
enabled: false,
style: {
fontWeight: 'bold',
color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
}
}
},
legend: {
align: 'right',
x: -100,
verticalAlign: 'top',
y: 20,
floating: true,
backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'white',
borderColor: '#CCC',
borderWidth: 1,
shadow: false
},
tooltip: {
formatter: function() {
return '<b>' + this.x + '</b><br/>' +
this.series.name + ': ' + this.y + '<br/>'
}
},
series: seriesData
});
});
});
}
在URL,values.json是我的JSON文件如下
[{"series_name":"Actual","period_name":"Q1/2013","period_final_value":17},
{"series_name":"Actual","period_name":"Q2/2013","period_final_value":15},
{"series_name":"Actual","period_name":"Q3/2013","period_final_value":13},
{"series_name":"Actual","period_name":"Q4/2013","period_final_value":19},
{"series_name":"Alarm","period_name":"Q1/2013","period_final_value":14.103},
{"series_name":"Alarm","period_name":"Q2/2013","period_final_value":14.404499999999999},
{"series_name":"Alarm","period_name":"Q3/2013","period_final_value":14.966999999999999},
{"series_name":"Alarm","period_name":"Q4/2013","period_final_value":50},
{"series_name":"Target","period_name":"Q1/2013","period_final_value":15.67},
{"series_name":"Target","period_name":"Q2/2013","period_final_value":16.005},
{"series_name":"Target","period_name":"Q3/2013","period_final_value":16.63},
{"series_name":"Target","period_name":"Q4/2013","period_final_value":100}]
文件呈現但數據沒有顯示在圖表上,只有getJSON方法以外的警報有效,內部的不工作,相同的代碼,如果我嘗試從HTML頁面運行,那麼它工作正常,但現在我寫了整個代碼,因爲它是在VS in ASP.NET Web應用程序,我呼籲在JavaScript上身體的onLoad的loadJson功能如下,
<body onload="loadJson();">
但該方法不跑,不 能解決這個問題,任何幫助將不勝感激.. 。
----------附加工作------
當我添加在的getJSON上述方法的任何變量我的JSON數據和消除的getJSON方法和訪問該那麼我得到圖形正確,但是當我使用getJSON方法,那麼它不起作用
-----錯誤檢查----------
我檢查了鉻的錯誤,我知道它無法獲取json文件,我保留了JSON文件在項目文件夾,然後我也試圖通過保持json文件在本地,仍然它的說相同的錯誤..
現在我想我面臨的問題與MIME類型處理與ASPX頁.. ..任何東西鏈接它..??
你的問題很不清楚。你談論'getJSON',但你使用'$ .get'。然後你提到圖表的數據沒有更新,但沒有顯示圖表的代碼,甚至不告訴我們是什麼類型的圖表......? –
JSON數據是無效的 - 見[JSON格式/驗證(http://jsonformatter.curiousconcept.com/) – amdixon
@RoryMcCrossan ..我會更新的問題,它的getJSON,但我改變了它的測試目的。 – Reshma