0
你好所有開發人員:-)Ajax調用在highchart.js
我想問一個問題,有關使阿賈克斯在highchart.js庫調用
我有一些我正在通過返回值基於我給後端(它是一個MVC .NET項目)的信息的Ajax,然後我想在每個div中使用類gainChart呈現一個新圖表(我爲其他目的添加了Ids,所以不要打擾他們:-))
var iteratorJs = 0;
$(".gainChart").each(function (i) {
$(this).attr('id', "gainChart" + (i + 1));
var chart = new Highcharts.Chart({
chart: {
renderTo: this,
type: 'line',
margin: 0,
backgroundColor: 'rgba(255,255,255,0.3)'
},
colors: ['#2E5430'],
xAxis: {
lineWidth: 0,
minorGridLineWidth: 0,
lineColor: 'green',
//type: 'datetime',
labels: {
enabled: false
},
categories: [
$.ajax({
type: "POST",
url: "forex-copy-points-days",
data: { page: 0, perPage: 5, iterator: iteratorJs },
dataType: 'json',
async: false,
success: function (data) {
var daysArr = data.days;
JSON.stringify(daysArr);
categories = daysArr;
console.log(daysArr);
}
})
]
},
tooltip: {
formatter: function() {
var text = '';
text = this.y + '$';
return text;
}
},
credits: { enabled: false },
title: { text: null },
legend: {
enabled: false
},
plotOptions: {
series: {
stacking: 'normal',
pointWidth: 10
}
},
series: [{
name: 'Balance',
showInLegend: true,
legendMarkerColor: "green",
legendText: "Profit for account",
data: [
$.ajax({
type: "POST",
url: "forex-copy-points-balance",
data: { page: 0, perPage: 5, iterator: iteratorJs },
dataType: 'json',
async: false,
success: function (balances) {
var balArr = balances.balances;
JSON.stringify(balArr);
data = balArr;
console.log(balArr);
}
})
]
}],
exporting: {
enabled: false
},
responsive: {
rules: [{
condition: {
maxWidth: 600
},
chartOptions: {
legend: {
enabled: false
}
}
}]
}
});
iteratorJs++;
});
返回的數據是因爲它應該是(differen t字符串),但沒有任何顯示 - 只有圖表的背景。有人可以給我一個線索如何解決這個問題,以及爲了解決我的問題需要改變什麼。
提前致謝!
感謝,Métoule你的答案。我有一個關於它的問題 - 我應該在腳本的開頭刪除var chart = new Highcharts.Chart代碼,因爲我將在ajax成功回調中渲染? 感謝和美好的一天。 :) – Nikolay
我確實保留了它,但它已被移到成功回調的主體中。說實話,我建議你在試圖繪製圖表之前嘗試熟悉jQuery和AJAX。例如,您可以使用'console.log()'來顯示您從ajax調用中獲得的內容。 –
嘿, 再次感謝您的快速回答。 正如你可以在我的第一個評論中看到的,我使用console.log()來顯示ajax調用的結果。 無論如何,我會嘗試你的建議,並會寫一個反饋。 :-) – Nikolay